有時(shí)我們想要通過其他的賬戶進(jìn)行登錄SSH,通常我們?cè)诘卿浀臅r(shí)候需要重新輸入密碼。不過對(duì)于一些不想記太多密碼的用戶來說,這樣就顯得有些麻煩了,那么該怎么才能不輸入密碼進(jìn)行登錄呢?
解決方法:
1. 你需要以用戶“aliceA”的身份登錄到hostA上。
2. 使用ssh-keygen生成一對(duì)rsa公私鑰,生成的密鑰對(duì)會(huì)存放在~/.ssh目錄下。
$ ssh-keygen -t rsa
3. 使用下面的命令在目標(biāo)主機(jī)hostB上的aliceB用戶目錄下創(chuàng)建~/.ssh目錄。如果在aliceB@hostB上已經(jīng)存在.ssh目錄,這一步會(huì)被略過。
$ ssh aliceB@hostB mkdir -p .ssh
4. 將hostA上用戶“aliceA”的公鑰拷貝到aliceB@hostB上,來實(shí)現(xiàn)無密碼ssh。
$ cat .ssh/id_rsa.pub | ssh aliceB@hostB ‘cat 》》 .ssh/authorized_keys’
自此以后,從aliceA@hostA上ssh到aliceB@hostB上再也不需要輸入密碼。(小編譯注:上述的創(chuàng)建目錄并復(fù)制的操作也可以通過一個(gè) ssh-copy-id 命令一步完成:ssh-copy-id -i ~/.ssh/id_rsa.pub aliceB@hostB)
疑難解答
1. 即使在密鑰認(rèn)證生效后,你可能仍然需要輸入SSH密碼。如果遇到這種情況,請(qǐng)檢查系統(tǒng)日志(如/var/log/secure)以查看是否出現(xiàn)下面的異常。
Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys
在這種情況下,密鑰認(rèn)證的失敗是由于~/.ssh/authorized_keys文件的權(quán)限或擁有者不正確。一般情況,如果這個(gè)文件對(duì)除了你之外的所有用戶都可讀,就會(huì)出現(xiàn)這個(gè)錯(cuò)誤。用下面的方式改變文件的權(quán)限以修正錯(cuò)誤。
$ chmod 700 ~/.ssh/authorized_keys
以上就是設(shè)置Linux系統(tǒng)中不輸入密碼登錄SSH服務(wù)器的方法了。有遇到這種情況的用戶,就按照上面的方法進(jìn)行設(shè)置吧。