經常需要登錄遠程服務器很麻煩,因此在此記錄下免密碼登錄遠程服務器的那些事。
1. 比較常用而保險的ssh-keygen公私鑰配對登錄。
2. 終端輸入命令:ssh-keygen -t rsa

這里需要你輸入一個鑰匙的名稱,不輸入默認為:id_rsa (私鑰) 和 id_rsa.pub(公鑰)
通常在企業里面一台服務器有很多人使用,因此默認的名稱很可能已經有人使用了,所以這里可以輸入一個你自己的名字為好。
3. 輸入密鑰名稱后,回車,會讓輸入密碼。
4. 因為我們要免密碼登錄,所以別填,直接回車2次即可。
5.此時密鑰已經生成好了,直接去家目錄下面查看即可。
6.此時我們要把公鑰(.pub結尾的那個)放到,你想要控制的那台服務器上面對應登錄用戶的目錄下面,這里使用scp上傳

7.上面進度顯示100%,說明上傳完成了。
8.次數如果你登錄的用戶,這里是root 的家目錄下面的.ssh文件夾下面,沒有authorized_keys的話,就把傳上去的公鑰改名為這個名字,否則就把剛才
的xxx.pub里面的內容追加到里面的authorized_keys的末尾.
追加命令: cat xxxx.pub >> authorized_keys
9. 此時可以嘗試免密碼登錄了。ssh root@192.168.5.31 發現就進去了,
10. 到這里如果你還覺得麻煩,甚至可以再設置個別名 alias ssh_31='ssh root@192.168.5.31' (別忘記寫道.bashrc里面)
方法二. 直接使用sshpass
# sudo apt-get install sshpass
安裝完成后使用sshpass允許你用 -p 參數指定明文密碼,然后直接登錄遠程服務器。例如:
# sshpass -p '你的密碼' ssh 用戶名@服務器ip地址
例如:sshpass -p mysql_0591_cqmyg ssh root@192.168.5.31
再給設置個別名,馬上也就方便了。
用 '-p' 指定了密碼后,還需要在后面跟上標准的 ssh 連接命令
