Automatisk passwrod-less SSH-inloggning kan göra vårt liv enklare. För att aktivera detta har vi 2 alternativ: använda nyckelbaserad autentisering genom att kopiera våra SSH-offentliga nycklar till fjärrdatorerna för automatisk lösenordslös inloggning eller med lösenordsbaserad autentisering. Jag kommer att presentera de 2 alternativen i inlägget. Innan du börjar, Observera att nyckelbaserad autentisering vanligtvis föreslås när din arbetsmiljö tillåter.,
Innehållsförteckning
Vi introducerar två metoder i det här inlägget: använda kommandot SSH-copy-id och det manuella sättet.
generera SSH-nyckelpar
Om du inte har ett SSH-privat / offentligt nyckelpar än kan du skapa ett först.
$ ssh-keygen -t rsa
som standard på Linux lagras nyckelparet i ~/.ssh
som heter id_rsa
och id_rsa.pub
för den privata och offentliga nyckeln.,
kopiera Offentlig SSH-nyckel till fjärrmaskinen
Du har två val här. Om du inte kan använda metodenssh-copy-id
kan du prova ”manuell”.
det enklaste sättet
låt SSH-copy-id göra det automatiskt:
$ ssh-copy-id username@remotemachine
om du har flera nycklar i katalogen~/.ssh
kan du behöva använda-i key_file
för att ange vilken nyckel du ska använda.,
det manuella sättet
kopiera den offentliga SSH-tangenten till fjärrmaskinen
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
Logga in på fjärrmaskinen
$ ssh username@remotemachine
Lägg till din offentliga SSH-nyckel till ~/.SSH/authorized_keys
kontrollera läget~/.ssh / authorized_keys är 755:
$ chmod 755 ~/.ssh/authorized_keys
eventuella problem
några möjliga problem som hindrar dig från att ställa in lösenordslös inloggning.,
katalog/filbehörigheter
hemkatalog
kontrollera hemkatalog tillstånd som kan orsaka nyckelbaserad inloggning misslyckas (anta hemkatalog är/home/zma):
# chmod 700 /home/zma/
~/.SSH tillstånd
se till att .SSH-katalogens tillstånd är 755:
$ chmod 755 ~/.ssh/
~/.SSH / authroized_keys tillstånd
kontrollera .SSH-katalogens tillstånd är 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
lösenordsbaserad” lösenordslös ” SSH-inloggning
den här metoden inloggning och autentisering är fortfarande med lösenord., Vi använder dock ett verktyg för att hjälpa oss att mata in lösenordet automatiskt. Verktyget är sshpass
som fungerar fint.
användningen är mycket enkel enligt följande genom att ange lösenordet i kommandoraden:
$ sshpass -p "your_password_here" ssh username@remotemachine
eller genom att ange lösenordet i den första raden i en fil
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
säkerhetsöverväganden: innan du användersshpass
, läs avsnittet ”säkerhetsöverväganden” isshpass
man Page för att känna till säkerhetsproblemen och bara använda den när du kan tolerera dem.,