Sådan aktiveres SSH på en Mac fra kommandolinjen

Alle moderne Mac'er, der kører MacOS eller Mac OS X, leveres med SSH forudinstalleret som standard, men SSH (Secure Shell) daemon er også deaktiveret som standard. Avancerede Mac-brugere kan sætte pris på at vide, at muligheden for at aktivere SSH og deaktivere SSH begge er tilgængelige helt fra kommandolinjen i Mac OS, hvilket giver mulighed for en enkel måde at tillade eller afvise fjernforbindelser til en computer. Der er ingen kext indlæsning, download eller kompilering nødvendig, for at slå SSH fra Terminal på enhver Mac, skal du simpelthen udføre en systemopsætningskommando, som vi vil vise i denne vejledning.


En hurtig side note; denne vejledning gælder for alle versioner af MacOS og Mac OS X, men er virkelig rettet mod mere avancerede brugere, der bruger meget tid i Terminal. Hvis du vil skifte SSH off og on og undgå kommandolinjen, kan du gøre det ved at aktivere fjernindlogning i panelet Deling præference på en Mac, eller stoppe serveren ved at forlade den ukontrolleret. Hvis du ikke bruger ssh regelmæssigt, er der ingen grund til at aktivere ssh-serveren på en Mac.

Sådan kontrolleres, om SSH Remote Login er aktiveret i Mac OS via Terminal

Vil du kontrollere den aktuelle status for SSH på en Mac? Ved hjælp af kommandostrengen systemetup kan vi hurtigt afgøre, om SSH og Remote Login for øjeblikket er aktiveret på enhver Mac:

sudo systemsetup -getremotelogin

Hvis fjernadgang og SSH for øjeblikket er aktiveret, vil kommandoen og rapporten sige "Remote login: On", mens hvis SSH er deaktiveret og i standard macOS-tilstand, vil det sige "Fjernindlogning: Fra".

Aktivér SSH på Mac fra kommandolinjen med systemsetup

For hurtigt at tænde SSH-serveren og tillade indgående ssh-forbindelser til den nuværende Mac, skal du bruge -setremotelogin-flag med systemopstilling som sådan:

sudo systemsetup -setremotelogin on

sudo er nødvendigt, fordi systemetup-kommandoen kræver administratorrettigheder, ligesom når du aktiverer fjernlogning fra delingsindstillingerne på en Mac for at aktivere de sikre shell-servere.

Der er ingen bekræftelse eller besked om, at fjernindlogning og SSH er blevet aktiveret, men du kan bruge det ovennævnte flag -getmorelogin til at kontrollere og verificere, at SSH-serveren rent faktisk kører. Og ja, ved at bruge -setremotelogin gælder for at aktivere både ssh og sftp servere på Mac.

Når ssh er blevet aktiveret, kan enhver brugerkonto eller person, der har et login på den aktuelle Mac, få adgang til det eksternt ved hjælp af ssh-kommandoen rettet mod Macs IP-adresse som sådan:

ssh [email protected]

Når forbindelsen er tilsluttet, har brugeren fjernadgang til computeren via kommandolinjen, og hvis de har en adminkonto eller admin-adgangskode, ville de også have fuld adgang til fjernadministration.

Sluk SSH på Mac OS med systemsetup

Hvis du vil deaktivere SSH-servere fra kommandolinjen og dermed forhindre fjernforbindelser, skal du blot skifte 'on' til 'off' med -setremotelogin-flag for systemopstilling som sådan:

sudo systemsetup -setremotelogin off

Igen er sudo nødvendigt for at skifte SSH off og deaktivere ssh- og sftp-serverne.

Når du udfører kommandoen med succes, bliver du spurgt: "Ønsker du virkelig at slukke fjernlogning? Hvis du gør det, mister du denne forbindelse og kan kun slå den tilbage lokalt på serveren (ja / nej)? " Skriv så" ja "for at bekræfte, hvilket vil deaktivere SSH og også fjerne eventuelle aktive SSH-forbindelser til Mac'en i spørgsmål. Hvis du vil undgå at skulle skrive ja / nej, måske til optagelse i et installationsskript eller på anden måde, kan du bruge -f-flag til at omgå spørgsmålet som sådan:

sudo systemsetup -f -setremotelogin off

Tilsvarende kan du også bruge -f for at springe over nogen beskeder med hensyn til at aktivere SSH også.

systemsetup -f -setremotelogin on

Bemærk, at uanset om du slukker for SSH eller aktiverer SSH fra kommandolinjen, indstilles indstillingen for indstillinger for fjernindlogningssystemets præferencepanel i Mac OS X GUI for at afspejle ændringen i overensstemmelse hermed.