1.進入 目錄 (~/.ssh/)
cd ~/.ssh/
2.生成 key
ssh-keygen -t rsa
這是會在目錄下產生 id_rsa id_rsa.pub
這兩個檔案
3. 將 密碼檔案 : id_rsa.pub 上傳到 ssh 的伺服器 上
ssh-copy-id -i ~/.ssh/id_rsa.pub 使用者名稱@ip位址
eg:ssh-copy-id -i ~/.ssh/id_rsa.pub root
@172.16.236.18
如果不成功 ,
1.確認 ssh到的機器上 ~/.ssh/ 目錄下的檔案 authorized_keys ,檢視該檔案是否有 自己剛剛新增的密文,如果沒有再新增一遍,如果有 ,還不能登入,可能是自己生成密文是 出錯了!
2.刪除 ~/.ssh/ 與密文相關的檔案,重新生成
如果登陸還是不成功:
因為linux 的許可權認證很 嚴格
1.你可以讓 linux 不檢查 你的 檔案許可權 當然這樣子是很危險的(非常不建議,但是在配置hadoop 的時時候 hdfs對這個目錄的訪問許可權要求也非常嚴格,這時如果你修改了,還是比較起作用的 嘿嘿):
修改: vi /etc/ssh/sshd_config
# strictmodes yes 修改為 strictmodes no
這時 你可以重新拷貝 秘鑰到 伺服器,登陸 如果還不成功 那就得看下 你的 selinux 引數了 :
關於 selinux 稍後我查完資料再補上 這個東東到底是幹嘛的。先把這個弄好再說,
vi /etc/selinux/config
將 selinux 設定為: selinux=disabled
然後執行:
setenforce 0
在 ssh 鏈結伺服器試試 。這時 應該是可以了,
如果報出 如下錯誤:
libin@libin-thinkpad-t420:~$ ssh [email protected]
agent admitted failure to sign using the key.
[email protected]'s password:
這個時候說明 客戶端和服務端 使用的key 可能不一致 的問題什麼的(這個稍後 研究下 ssh-add 再做解答),
查了資料之後 需要 執行 以下命令
需要在客戶端執行: ssh-add
libin@libin-thinkpad-t420:~$ ssh-add
identity added: /home/libin/.ssh/id_rsa (/home/libin/.ssh/id_rsa)
libin@libin-thinkpad-t420:~$ ssh [email protected]
last login: mon aug 12 15:32:55 2013 from 172.16.17.252
[root@localhost ~]#
o(∩_∩)o哈哈~ 成功 ;
待解決問題:
selinux :linux 許可權系統,至今許可權測試最全面的
ssh-add
setenforce 0
ssh自動(信任)登入
a 192.168.109.180 b 192.168.109.181 系統均為suse在 a上的命令 ssh keygen t rsa 連續三次回車 即在本地生成了公鑰和私鑰 不設定密碼 ssh root 192.168.109.181 mkdir ssh chmod 0700 ssh 需要輸入密...
ssh自動登入指令碼
使用vpn,每次都要在terminal上重複輸入命令 ssh d port user host 出來密碼提示符後,把複雜的密碼拷貝下來,然後貼上到terminal,敲回車.終於忍受不了這樣的重複了,於是用shell寫乙個可以自動登入的指令碼 usr bin expect f set port por...
linux expect詳解 ssh自動登入
shell指令碼實現ssh自動登入遠端伺服器示例 usr bin expect spawn ssh root 192.168.22.194expect password send 123 r expect interact expect是乙個用來處理互動的命令。借助expect,我們可以將互動過程寫...