SSH op een Mac inschakelen vanaf de Commandoregel

Op alle moderne Macs met macOS of Mac OS X is standaard SSH vooraf geïnstalleerd, maar de SSH (Secure Shell) -daemon is ook standaard uitgeschakeld. Geavanceerde Mac-gebruikers waarderen het misschien wel dat de mogelijkheid om SSH in te schakelen en SSH uit te schakelen beide volledig beschikbaar is via de opdrachtregel van Mac OS, waardoor een eenvoudige manier is om externe verbindingen met een computer toe te staan ​​of te verbieden. Er is geen noodzaak om kext te laden, downloaden of compileren, om SSH vanuit de Terminal op elke Mac aan te zetten, je hoeft alleen maar een systeem setup-opdracht uit te voeren, zoals we in deze tutorial zullen laten zien.


Een snelle kanttekening; deze gids is van toepassing op alle versies van macOS en Mac OS X, maar is echt bedoeld voor meer geavanceerde gebruikers die veel tijd in de terminal doorbrengen. Als je SSH uit en aan wilt zetten en de opdrachtregel wilt vermijden, kun je dit doen door Remote Login in het voorkeurenpaneel Delen op een Mac in te schakelen, of de server stoppen door deze uit te schakelen. Als je ssh niet regelmatig gebruikt, is er geen reden om de ssh-server op een Mac in te schakelen.

Hoe te controleren of SSH Remote Login is ingeschakeld in Mac OS via Terminal

Wilt u de huidige status van SSH op een Mac controleren? Met behulp van de opdrachtreeks van de systeemsetup kunnen we snel bepalen of SSH en Remote Login momenteel op elke Mac is ingeschakeld:

sudo systemsetup -getremotelogin

Als inloggen op afstand en SSH momenteel zijn ingeschakeld, zegt de opdracht en het rapport "Remote Login: On", terwijl SSH is uitgeschakeld en in de standaard macOS-status zegt: "Remote Login: Off".

Schakel SSH op Mac in vanaf de opdrachtregel met systeeminstellingen

Om snel de SSH-server in te schakelen en inkomende ssh-verbindingen met de huidige Mac toe te staan, gebruik je de -setremotelogin-vlag met systeeminstellingen zoals:

sudo systemsetup -setremotelogin on

sudo is nodig omdat de opdracht systemsetup beheerdersrechten vereist, net zoals wanneer u Remote Login in de voorkeuren Delen op een Mac inschakelt om de beveiligde shell-servers in te schakelen.

Er is geen bevestiging of bericht dat Remote Login en SSH is ingeschakeld, maar u kunt de bovengenoemde -getmorelogin-vlag gebruiken om te controleren en controleren of de SSH-server inderdaad actief is. En ja, het gebruik van -setremotelogin is van toepassing op het inschakelen van zowel ssh- als sftp-servers op de Mac.

Zodra ssh is ingeschakeld, kan elk gebruikersaccount of elke persoon met een login op de huidige Mac op afstand toegang krijgen via de ssh-opdracht gericht op het IP-adres van de Mac, zoals:

ssh [email protected]

Nadat de gebruiker verbinding heeft gemaakt, heeft deze via de opdrachtregel toegang op afstand tot de computer. Als ze een beheerdersaccount of een beheerderswachtwoord hebben, hebben ze ook volledige externe beheertoegang.

Schakel SSH uit op Mac OS met systeeminstellingen

Als u SSH-servers wilt uitschakelen vanaf de opdrachtregel en daardoor verbindingen op afstand wilt voorkomen, schakelt u eenvoudigweg 'aan' uit met de -setremotelogin-vlag van systeemconfiguratie zoals:

sudo systemsetup -setremotelogin off

Nogmaals, sudo is nodig om SSH uit te schakelen en de ssh- en sftp-servers uit te schakelen.

Wanneer u de opdracht met succes uitvoert, wordt u gevraagd: "Wilt u echt inloggen op afstand uitschakelen? Als u dit doet, verliest u deze verbinding en kunt u deze alleen weer lokaal inschakelen op de server (ja / nee)? " Type" yes "om te bevestigen, waardoor SSH wordt uitgeschakeld en ook eventuele actieve SSH-verbindingen met de Mac worden verbroken vraag. Als je wilt voorkomen dat je ja / nee moet typen, misschien voor opname in een setup-script of anderszins, kun je de vlag -f gebruiken om de vraag als volgt te omzeilen:

sudo systemsetup -f -setremotelogin off

Op dezelfde manier kunt u ook -f gebruiken om elke prompt over te slaan met betrekking tot het inschakelen van SSH.

systemsetup -f -setremotelogin on

Houd er rekening mee dat, of u SSH nu uitzet of SSH inschakelt via de opdrachtregel, de instelling Systeemvoorkeur paneelsysteem op afstand in Mac OS X GUI zal worden aangepast om ook de wijziging overeenkomstig weer te geven.