automatische SSH login zonder wachtwoorden kan ons leven gemakkelijker maken. Om dit in te schakelen, hebben we 2 opties: het gebruik van sleutelgebaseerde authenticatie door het kopiëren van onze SSH publieke sleutels naar de externe machines voor automatische login zonder wachtwoord of het gebruik van wachtwoordgebaseerde authenticatie. Ik zal de 2 opties in de post te introduceren. Voordat u begint, moet u er rekening mee houden dat sleutelgebaseerde authenticatie over het algemeen wordt voorgesteld wanneer uw werkomgeving dit toelaat.,
inhoudsopgave
We introduceren twee methoden in dit bericht: het gebruik van SSH-copy-id commando en de handmatige manier.
genereer SSH sleutelpaar
Als u nog geen SSH private/public sleutelpaar hebt, kunt u er eerst een aanmaken.
$ ssh-keygen -t rsa
standaard wordt op Linux het sleutelpaar opgeslagen in ~/.ssh
named id_rsa
en id_rsa.pub
voor de private en publieke sleutel.,
kopieer publieke SSH-sleutel naar de machine op afstand
u hebt hier twee keuzes. Tenzij u de ssh-copy-id
methode niet kunt gebruiken, kunt u de “handmatige” manier proberen.
de makkelijkste manier
laat ssh-copy-id dit automatisch doen:
$ ssh-copy-id username@remotemachine
Als u meerdere sleutels in uw ~/.ssh
map hebt, moet u -i key_file
gebruiken om aan te geven welke sleutel u wilt gebruiken.,
de handmatige manier
kopieer de publieke SSH-sleutel naar de externe machine
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
Log op de externe machine
$ ssh username@remotemachine
voeg uw publieke SSH-sleutel toe aan~/.SSH/authorized_keys
controleer de modus van~/.ssh / authorized_keys is 755:
$ chmod 755 ~/.ssh/authorized_keys
mogelijke problemen
enkele mogelijke problemen die verhinderen dat u met succes een login zonder wachtwoord kunt instellen.,
Directory / file permissions
Home directory
controleer de toestemming van de thuismap die de sleutelgebaseerde aanmeldfout kan veroorzaken (stel dat de thuismap /home / zma is):
# chmod 700 /home/zma/
~/.SSH permission
Zorg ervoor dat de .SSH directory ’s permission is 755:
$ chmod 755 ~/.ssh/
~/.SSH/authroized_keys toestemming
Zorg ervoor dat de .SSH directory ’s permission is 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
Password-based” password-less ” SSH login
Deze methode de login en authenticatie is nog steeds met een wachtwoord., We gebruiken echter een tool om ons te helpen het wachtwoord automatisch in te voeren. Het gereedschap is sshpass
wat goed werkt.
het gebruik is als volgt zeer eenvoudig door het wachtwoord in de opdrachtregel op te geven:
$ sshpass -p "your_password_here" ssh username@remotemachine
of door het wachtwoord in de eerste regel van een bestand op te geven
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
veiligheidsoverwegingen: lees voordat u de sshpass
gebruikt, de sectie “veiligheidsoverwegingen” van de sshpass
manpage om de beveiligingsproblemen te kennen en deze alleen te gebruiken als je ze kunt verdragen.,