之前找到一些部落格配置ssh,總是遇到各種各樣的問題,以下方法進行配置,一次成功!!!
ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以centos為例。
有機器a(192.168.1.155),b(192.168.1.181)。現想a通過ssh免密碼登入到b。
1.在a機下生成公鑰/私鑰對。
[chenlb@a ~]$ ssh-keygen -t rsa -p ''
-p表示密碼,-p '' 就表示空密碼,也可以不用-p引數,這樣就要三車回車,用-p就一次回車。
它在/home/chenlb下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。
2.把a機下的id_rsa.pub複製到b機下,在b機的.ssh/authorized_keys檔案裡,我用scp複製。
[chenlb@a ~]$ scp .ssh/id_rsa.pub [email protected]:/home/chenlb/id_rsa.pub
[email protected]'s password:
id_rsa.pub 100% 223 0.2kb/s 00:00
由於還沒有免密碼登入的,所以要輸入密碼。
3.b機把從a機複製的id_rsa.pub新增到.ssh/authorzied_keys檔案裡。
[chenlb@b ~]$ cat id_rsa.pub >> .ssh/authorized_keys
[chenlb@b ~]$ chmod 600 .ssh/authorized_keys
authorized_keys的許可權要是600。
4.a機登入b機。
[chenlb@a ~]$ ssh 192.168.1.181
the authenticity of host '192.168.1.181 (192.168.1.181)' can't be established.
rsa key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
are you sure you want to continue connecting (yes/no)? yes
warning: permanently added '192.168.1.181' (rsa) to the list of known hosts.
last login: thu jul 3 09:53:18 2008 from chenlb
[chenlb@b ~]$
第一次登入是時要你輸入yes。
現在a機可以無密碼登入b機了。
小結:登入的機子可有私鑰,被登入的機子要有登入機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。上面是用rsa演算法的公鑰/私鑰對,當然也可以用dsa(對應的檔案是id_dsa,id_dsa.pub)
想讓a,b機無密碼互登入,那b機以上面同樣的方式配置即可。
【問題及解決方法】
ssh密碼登陸後,但是還是密碼失敗,提示「agent admitted failure to sign using the key」
遇到的問題:生成後還是需要輸入密碼。
解決方法:用ssh-add命令將id_rsa加進來
ssh-add /root/.ssh/id_rsa
驗證ssh免密登入 如何配置 SSH 免密碼登入
ssh 是用於管理與伺服器通訊的加密協議。當你使用 linux 伺服器時,你的大部分時間有可能都花費在通過 ssh 連線到伺服器的終端會話中。儘管有許多不同的通過 ssh 登入伺服器的方法,但在這篇文章中,我們將重點介紹 ssh 金鑰方式。ssh 金鑰提供了一種簡單,但極其安全的登入伺服器的方法,這...
使用ssh基於金鑰實現3臺主機間免密碼登陸
第一步 在host01和 host 2和 host 3上面都要執行下面操作,產生公鑰和私鑰 該過程不輸入密碼 ssh keygen t rsa 第二步 host01,host 2和 host 3都執行以下操作,將各自公鑰新增到host01的authorized keys的檔案中.ssh copy i...
使用ssh基於金鑰實現3臺主機間免密碼登陸
第一步 在host01和host2和host3上面都要執行下面操作,產生公鑰和私鑰 該過程不輸入密碼 ssh keygen t rsa第二步 host01,host2和host3都執行以下操作,將各自公鑰新增到host01的authorized keys的檔案中.ssh copy id hadoop...