首頁 > 軟體

SSH localhost免密碼後依然需要輸入密碼問題的解決

2020-06-16 17:23:05

按理說ssh localhost是非常簡單的一個操作。

ssh localhost步驟

生成秘鑰

使用下面的命令即可生成秘鑰

ssh-keygen -t rsa

免密碼登入

使用下面的命令即可免密碼登入localhost

ssh-copy-id localhost

但是到了這裡執行ssh localhost的時候依然提示我輸入密碼。我仔細分析了原因,一般來講失敗的原因有兩個。

失敗原因之一:.ssh及其下屬子檔案的許可權問題

首選.ssh目錄許可權是700, 兩個dsa 和 rsa的 私鑰許可權是600,其餘檔案許可權是644.

下面列出.ssh目錄及子檔案的許可權表:

drwx------ 2 root root 4096  128 23:03 ./
drwxr-xr-x 9 root root 4096  128 23:03 ../
-rw------- 1 root root  394  128 23:03 authorized_keys
-rw------- 1 root root 1679  128 23:03 id_rsa
-rw-r--r-- 1 root root  394  128 23:03 id_rsa.pub
-rw-r--r-- 1 root root 1776  128 23:03 known_hosts

失敗原因之二:.ssh父目錄的許可權問題

我的.ssh資料夾絕對路徑是/root/.ssh,所以/root目錄的許可權應該是755。這次我的問題就出現在這裡。

下面關於SSH相關的文章您也可能喜歡,不妨參考下:

CentOS 7.1下SSH遠端登入伺服器詳解 http://www.linuxidc.com/Linux/2016-03/129204.htm

CentOS 6.5之SSH免密碼登入設定  http://www.linuxidc.com/Linux/2016-10/136200.htm

Ubuntu 14.04 下安裝Samba 及SSH 伺服器端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm

Ubuntu 14.04 安裝SSH http://www.linuxidc.com/Linux/2016-12/137908.htm

Ubuntu叢集下利用Shell指令碼進行SSH免密碼登陸 http://www.linuxidc.com/Linux/2017-01/140035.htm

CentOS6.4之圖解SSH無密碼驗證雙向登陸設定 http://www.linuxidc.com/Linux/2016-06/132219.htm

如何為Linux系統中的SSH新增雙重認證 http://www.linuxidc.com/Linux/2014-08/105998.htm

在 Linux 中為非 SSH 使用者設定 SFTP 環境 http://www.linuxidc.com/Linux/2014-08/105865.htm

Linux 上SSH 服務的設定和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-01/140050.htm


IT145.com E-mail:sddin#qq.com