如何設定ssh本機時不輸入密碼

2021-06-16 10:02:00 字數 966 閱讀 5354

今天在設定linux免登入的時候,按照hadoop官方說明的ssh設定,然後通過ssh localhost測試,可是總是提示要輸入密碼。

$ ssh-keygen -t dsa -p '' -f ~/.ssh/id_dsa 

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

琢磨了一下ssh的原理

命令1:$ ssh-keygen -t dsa -p '' -f ~/.ssh/id_dsa

這個命令會產生乙個公鑰(~/.ssh/id_rsa.pub)和金鑰(~/.ssh/id_rsa),

-t dsa:表示使用金鑰的加密型別,可以為'rsa'和'dsa'

-p '':表示不需要密碼登入

-f ~/.ssh/id_dsa:表示金鑰存放的路徑為$/.ssh/id_dsa

命令2:$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

將本機的公鑰新增進authorized_keys中,這樣允許本機通過ssh的形式免密碼登入

注意使用》,而不是》,因為如果其它主機(如a)也採用免登陸的形式登入,也可以把主機a的公鑰新增到authorized_keys檔案中。這樣主機a就可以免登陸ssh到本機了。

開始也找不出什麼原因,後來用root使用者跟蹤/var/log/message日誌,發現每次ssh localhost的時候,有以下日誌出現

aug 20 14:47:40 vm-360-149-11 sshd[11072]: authentication refused: bad ownership or modes for file /home/linzm/.ssh/authorized_keys

於是更改authorized_keys的許可權為600 

chmod 600 authorized_keys

問題解決,配置成功。

ssh localhost再也不需要輸入密碼了

設定不輸入密碼ssh登入

在 etc hosts檔案下加入 192.168.1.60 u60 設定u60為主機名 在每個節點上建立rsa秘鑰 ssh keygen t rsa 一直按確定鍵即可 touch root ssh authorized keys 先配置u60,這樣u60就可以無密碼訪問u62和u63了 u60 sc...

SSH本機需要輸入密碼問題

生成ssh金鑰後,ssh到其他主機不需要密碼,但ssh到本機卻要輸入密碼,check了下,發現是許可權問題,ssh目錄下的檔案許可權應該為 rw r r 1 hadoop hadoop 402 2012 08 23 09 47 authorized keys rw 1 hadoop hadoop 1...

SSH不輸入密碼連線遠端Linux主機

系統環境 ubuntu 6.06 ubuntu 6.10 ssh服務 openssh server 1 在本地主機生成金鑰對 ssh keygen t rsa 這個命令生成乙個金鑰對 id rsa 私鑰檔案 和id rsa.pub 公鑰檔案 預設被儲存在 ssh 目錄下。2 將公鑰新增到遠端主機的 ...