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並沒有通知,結果導致配置一直未被更改。在描述之前,...