SSH inschakelen op een Mac via de opdrachtregel

Inhoudsopgave:

Anonim

Alle moderne Macs met macOS of Mac OS X worden standaard geleverd met vooraf geïnstalleerde SSH, maar de SSH-daemon (Secure Shell) is ook standaard uitgeschakeld. Gevorderde Mac-gebruikers zullen het misschien op prijs stellen als ze weten 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 mogelijk is om externe verbindingen met een computer toe te staan ​​of te weigeren.Het is niet nodig om kext te laden, te downloaden of te compileren. Om SSH vanaf de terminal op een Mac in te schakelen, hoef je alleen maar een opdracht voor systeeminstellingen uit te voeren, zoals we in deze tutorial zullen laten zien.

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

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 systemsetup kunnen we snel bepalen of SSH en inloggen op afstand momenteel is ingeschakeld op een Mac:

sudo systemsetup -getremotelogin

Als inloggen op afstand en SSH momenteel is ingeschakeld, wordt in de opdracht en in het rapport 'Aanmelden op afstand: aan' weergegeven, terwijl als SSH is uitgeschakeld en in de standaard macOS-status staat 'Aanmelden op afstand: uit' .

SSH op Mac inschakelen vanaf de opdrachtregel met systeeminstellingen

Om de SSH-server snel in te schakelen en inkomende SSH-verbindingen met de huidige Mac toe te staan, gebruikt u de vlag -setremotelogin met systemsetup zoals:

sudo systemsetup -setremotelogin on

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

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

Als ssh eenmaal is ingeschakeld, kan elke gebruikersaccount of persoon met een login op de huidige Mac er op afstand toegang toe krijgen met behulp van de ssh-opdracht gericht op het IP-adres van de Mac, zoals:

ssh [email protected]

Als de gebruiker eenmaal is verbonden, heeft hij externe toegang tot de computer via de opdrachtregel en als hij een beheerdersaccount of beheerderswachtwoord heeft, heeft hij ook volledige externe beheertoegang.

Schakel SSH uit op Mac OS met systeeminstellingen

Als u SSH-servers vanaf de opdrachtregel wilt uitschakelen en daarmee externe verbindingen wilt voorkomen, schakelt u gewoon 'aan' naar 'uit' met de vlag -setremotelogin van systemsetup 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 extern inloggen echt uitschakelen? Als je dat doet, verlies je deze verbinding en kun je deze alleen lokaal op de server weer inschakelen (ja/nee)?” dus typ "ja" om te bevestigen, waardoor SSH wordt uitgeschakeld en ook alle actieve SSH-verbindingen met de betreffende Mac worden verbroken. Als u wilt voorkomen dat u ja/nee hoeft te typen, bijvoorbeeld voor opname in een installatiescript of anderszins, kunt u de vlag -f gebruiken om de vraag als volgt te omzeilen:

sudo systemsetup -f -setremotelogin off

Op dezelfde manier kun je ook -f gebruiken om prompts over het inschakelen van SSH over te slaan.

systemsetup -f -setremotelogin on

Houd er rekening mee dat of u SSH nu uitschakelt of SSH inschakelt vanaf de opdrachtregel, de instelling van het voorkeurenpaneel voor inloggen op afstand in Mac OS X GUI ook zal worden aangepast om de wijziging dienovereenkomstig weer te geven.

SSH inschakelen op een Mac via de opdrachtregel