1. 程式人生 > 其它 >ansible連線目標主機時,報sh: .ssh/authorized_keys: Permission denied

ansible連線目標主機時,報sh: .ssh/authorized_keys: Permission denied

技術標籤:運維linuxansible運維

這兩天在學習ansible,想要用ssh連線另一臺linux伺服器

#生成ssh,輸入以下指令然後一直回車,在 .ssh/下會有公鑰和私鑰
ssh-keygen 

#傳送公鑰至目標主機,目標主機的.ssh/下會有authorized_keys,裡面存放了公鑰
ssh-copy-id [email protected]

剛開始我是用這個方法去向目標主機發送公鑰,然後我打算用ansible去ping這個主機的時候

#ping主機的命令
ansible all -m ping

卻報錯
sh: .ssh/authorized_keys: Permission denied


我查了好多資料,後面是解決了,接下來寫出我的解決過程(把之前的.ssh下面的檔案都刪了,重新再來生成一邊,把目標主機authorized_keys也刪了)

#生成ssh
ssh-keygen 
#將公鑰的內容寫入authorized_keys中
cat id_rsa.pub >> authorized_keys

#將公鑰傳送給目標主機
scp id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh

#-----------------接下來是目標主機的操作----------
#剛開始刪除的時候報Operation not permitted,用這個指令就可以了
chattr -i authorized_keys #刪除原來的authorized_keys檔案 rm -rf authorized_keys cat id_rsa.pub >> authorized_keys

然後我再ping的時候就成功了
在這裡插入圖片描述
在我剛畢業的時候也接觸了ansible,可是那時候我沒有linux基礎,那時候也遇到了這個問題,可是解決不了。現在熟悉了linux操作後,才發現這個問題解決的那麼簡單。學習的路還有很長啊!