här är en kort anteckning om hur du konfigurerar lösenordslösa inloggningar mellan 2 Linux-system. Processen innebär i princip att generera en offentlig autentiseringsnyckel och lägga den till fjärrvärdar ~/.SSH / authorized_keys fil.
generera autentiseringsnyckel
om en ssh-autentiseringsnyckelfil inte existerar, generera en genom att köra kommandot ssh-keygen., När du uppmanas till en lösenfras, använd en tom lösenfras om fullständig lösenordslös inloggning krävs:
kopiera den offentliga nyckeln till fjärrvärd
använd kommandot SSH-copy-id för att installera den offentliga hälften av den nyskapade autentiseringsnyckeln i en specifik användares hemkatalog på fjärrvärden. Kommandot SSH-copy-id lägger sedan automatiskt till identitetsinformationen i ~/.SSH/authorized_keys fil för den angivna användaren på fjärrvärden (skapa ~/.ssh och~/.SSH / authorized_keys om det behövs).,
# ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-hostuser@remote-hosts's password:
alternativt om servern inte är installerad med openssh-klienter (ett paket som ger SSH-copy-id command utility) kan du kopiera autentiseringsnyckeln med kommandot:
# cat ~/.ssh/id_rsa.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"
om allt är rätt konfigurerat ska du kunna logga in på fjärrvärden utan lösenord.,
kontrollera om rätt behörigheter
den vanligaste orsaken till problem med att få nyckelbaserad SSH-autentisering att fungera är filbehörigheter på fjärr SSH-servern
om ovanstående steg följdes och ssh ’ ing till lämplig användare fortfarande uppmanas för lösenord, inspektera behörigheterna på både den lokala och fjärranvändarens filer. Behörigheterna för katalogerna ska vara exakt som visas nedan., Exemplet som visas här är för användaren ”oracle”
om behörigheterna inte är som show abover, Ställ in dem korrekt :
# chmod 600 ~/.ssh/authorized_keyschmod 700 ~/.ssh/
Starta om sshd-tjänsten för att ändringarna ska träda i kraft :
# service sshd restart
inaktivera SElinux
SELinux kan också potentiellt förhindra sshd från att komma åt ~/.SSH-katalogen på servern. Detta problem kan uteslutas (eller lösas) genom att köra restorecon enligt följande på fjärranvändarens ~/.SSH directory: