Hur man aktiverar SSH på en Mac från kommandoraden
Innehållsförteckning:
- Aktivera SSH på Mac från kommandoraden med systeminställning
- Stäng av SSH på Mac OS med systeminställning
Alla moderna Mac-datorer som kör macOS eller Mac OS X kommer med SSH förinstallerat som standard, men SSH-demonen (Secure Shell) är också inaktiverad som standard. Avancerade Mac-användare kan uppskatta att veta att möjligheten att aktivera SSH och inaktivera SSH är båda tillgängliga helt från kommandoraden i Mac OS, vilket möjliggör ett enkelt sätt att tillåta eller förbjuda fjärranslutningar till en dator.Det behövs ingen kext-laddning, nedladdning eller kompilering för att slå på SSH från terminalen på vilken Mac som helst, du behöver helt enkelt köra ett systeminställningskommando, som vi kommer att visa i den här handledningen.
En snabb sidoanteckning; den här guiden gäller alla versioner av macOS och Mac OS X, men riktar sig egentligen till mer avancerade användare som tillbringar mycket tid i terminalen. Om du vill stänga av och på SSH och undvika kommandoraden kan du göra det genom att aktivera fjärrinloggning i inställningspanelen Delning på en Mac, eller stoppa servern genom att lämna den omarkerad. Om du inte regelbundet använder ssh finns det ingen anledning att aktivera ssh-servern på en Mac.
Hur kontrollerar du om SSH Remote Login är aktiverad i Mac OS via Terminal
Vill du kontrollera den aktuella statusen för SSH på en Mac? Med hjälp av systemsetup-kommandosträngen kan vi snabbt avgöra om SSH och Remote Login för närvarande är aktiverade på vilken Mac som helst:
sudo systemsetup -getremotelogin
Om fjärrinloggning och SSH för närvarande är aktiverat, kommer kommandot och rapporten att säga "Fjärrinloggning: På" medan om SSH är inaktiverat och i standardläget macOS, kommer det att säga "Fjärrinloggning: Av" .
Aktivera SSH på Mac från kommandoraden med systeminställning
För att snabbt slå på SSH-servern och tillåta inkommande ssh-anslutningar till den aktuella Macen, använd flaggan -setremotelogin med systemsetup som så:
sudo systemsetup -setremotelogin on
sudo är nödvändigt eftersom systemsetup-kommandot kräver administratörsbehörighet, precis som när du aktiverar fjärrinloggning från inställningarna för delning på en Mac för att aktivera de säkra skalservrarna.
Det finns ingen bekräftelse eller meddelande om att fjärrinloggning och SSH har aktiverats, men du kan använda den tidigare nämnda flaggan -getmorelogin för att kontrollera och verifiera att SSH-servern verkligen körs.Och ja, att använda -setremotelogin gäller för att aktivera både ssh- och sftp-servrar på Mac.
När ssh har aktiverats kan alla användarkonton eller personer som har en inloggning på den aktuella Macen komma åt den på distans med hjälp av ssh-kommandot riktat mot Macs IP-adress som så:
När ansluten har användaren fjärråtkomst till datorn via kommandoraden, och om de har ett administratörskonto eller administratörslösenord skulle de också ha full åtkomst till fjärradministration.
Stäng av SSH på Mac OS med systeminställning
Om du vill inaktivera SSH-servrar från kommandoraden och därmed förhindra fjärranslutningar, slå helt enkelt 'on' till 'off' med -setremotelogin-flaggan för systemsetup så här:
sudo systemsetup -setremotelogin off
Återigen, sudo är nödvändigt för att stänga av SSH och inaktivera ssh- och sftp-servrarna.
När du har utfört kommandot kommer du att bli tillfrågad: “Vill du verkligen stänga av fjärrinloggning? Om du gör det kommer du att förlora den här anslutningen och kan bara slå på den igen lok alt på servern (ja/nej)?” så skriv "ja" för att bekräfta, vilket kommer att inaktivera SSH och även koppla bort alla aktiva SSH-anslutningar till Macen i fråga. Om du vill undvika att behöva skriva ja/nej, kanske för att inkluderas i ett installationsskript eller på annat sätt, kan du använda flaggan -f för att kringgå frågan så här:
sudo systemsetup -f -setremotelogin off
På samma sätt kan du också använda -f för att hoppa över alla uppmaningar när det gäller att aktivera SSH också.
systemsetup -f -setremotelogin on
Observera att oavsett om du stänger av SSH eller aktiverar SSH från kommandoraden, kommer inställningen för systeminställningar för fjärrinloggning i Mac OS X GUI att justeras för att återspegla ändringen i enlighet därmed.