linux 無秘登入問題 不生效

2022-05-06 03:27:08 字數 1289 閱讀 8933

1 、 登入1,執行命令 ssh-keygen -t rsa 之後一路回 車,檢視剛生成的無密碼鑰對: cd .ssh 後 執行 ll

2 、把 id_rsa.pub 追加到授權的 key 裡面去。 執行命令 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

3 、修改許可權: 執行 chmod 600 ~/.ssh/authorized_keys

4 、確保 cat /etc/ssh/sshd_config 中存在如下內容

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile      .ssh/authorized_keys

如需修改, 則在修改後執行重啟 ssh 服 務命令使其生效 :service sshd restart

5 、將公 鑰複製到所有其他機器上 :scp ~/.ssh/id_rsa.pub root@2:~/ 然後 輸入 yes ,最後 輸入 2機器的密 碼

6 、在 2 機器上 建立 .ssh 資料夾 :

mkdir ~/.ssh

然後 執行 chmod 700 ~/.ssh (若資料夾以存在 則不需要建立)

7 、追加到授權檔案 authorized_keys 執行命令 :

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

然後 執行 chmod 600 ~/.ssh/authorized_keys

8 、重複第 4 步

9 、 驗證命令 : 在 1機器上 執行 ssh 2發現主機名由 1變成 2即成功,最後 刪除 id_rsa.pub 檔案 :rm -r id_rsa.pub

問題出現了:

1機器已經生產rsa金鑰

且已經將public key新增到47機器/root/.ssh/authorized_keys

但是ssh root@2機器時仍然需要輸入密碼,即無密碼認證失敗,

解決辦法:

檢視許可權:

用ssh -v debug訪問,日誌如下,但是從日誌看不到失敗原因,只知道在用publickey認證時,對端沒有reply;

再檢視/var/log/secure日誌

許可權問題總結如下:

1) .ssh目錄的許可權必須是700

2) 使用者目錄的許可權必須是700,比如我是用root使用者操作的,則/root的許可權必須是700

3) .ssh/authorized_keys檔案許可權必須是600

4)setenforce 0把selinux關閉(很重要)

linux無秘鑰登入

yum install expect y 2 保持互動的expect編寫 vi expect.sh bin expect spawn ssh 使用者名稱 ip 讓expect處理該會話,執行spawn之後,之後遇到的互動內容都由expect繼續 下面是提前輸入了可能會遇到的互動的內容以及相應的應答方...

gitignore 不生效問題

在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改根目錄中 gitignore 檔案的方法 如無,則需自己手工建立此檔案 這個檔案每一行儲存了乙個匹配的規則例如 1 2 3 4 5 6 7 此為注釋 將被 git 忽略 a 忽略所有 a 結尾的檔案 lib.a 但 lib.a ...

inotify不生效問題

inotify還是不錯的,玩著似乎很簡單,但是坑也不少,如果不仔細檢視官方文件,可能就真的不知道 存在坑,需要注意。前段時間,在專案中使用inotify監控配置檔案,以達到實時感知配置改變的目的。但近日檢視線上日誌發現,配置檔案改變後,inotify並沒有通知,結果導致配置一直未被更改。在描述之前,...