linux远程登录ssh免密码
一、問題:
假如我們現在有兩臺機器:PCA和PCB,現在想要讓PCA不用輸入密碼就能夠進行訪問PCB。
二、方法和原理:
可以使用ssh-keygen -t rsa (注意:一路回車即可)在PCA上生成private和public密鑰,將生成的public密鑰拷貝到遠程機器PCB上后,
就可以使用ssh命令無需密碼登錄到另外一臺機器PCB上。
在linux系統中,ssh是遠程登錄的默認工具,因為該工具的協議使用了RSA/DSA的加密算法【默認是DSR算法】,
該工具作為linux系統的遠程管理是非常安全的。
三、實驗步驟:
1、登錄PCA
2、ssh-keygen -t ?rsa,將會生成公鑰和私鑰文件id_rsa.pub和id_rsa
【一直回車下去,這兩個文件應該在/home/$USER/.ssh下面】
3、將id_rsa.pub?文件復制到PCB機器的 .ssh 目錄下,并保存為authorized_keys
可以使用:ssh-cop-id命令會將指定的公鑰文件復制到遠程計算機。
ssh-copy-id -i ?id_rsa.pub test@192.168.127.151
4.大功告成,從PCA機器登錄PCB機器的目標賬戶,不再需要密碼了。
5、設置文件和目錄權限【這一步可以省略,但是為了安全起見,加上也是有必要的~】
設置authorized_keys權限
chmod 644 authorized_keys?
設置.ssh目錄權限
chmod 700 -R .ssh
6、要保證.ssh和authorized_keys都只有用戶自己有寫權限。否則驗證無效。
(今天就是遇到這個問題,找了好久問題所在),其實仔細想想,這樣做是為了不會出現系統漏洞。
報錯:
The authenticity of host '192.168.127.150 (192.168.20.150)' can't be established. ?
RSA key fingerprint is 6a:37:c0:e1:09:a4:21:8d:68:d0:ca:21:20:94:be:11 ?
Are you sure you want to continue connecting (yes/no)? yes ?
Warning: Permanently added '192.168.127.150' (RSA) to the list of known hosts. ?
root@192.168.127.150's password: ??
Permission denied, please try again. ?
root@192.168.127.150's password: ??
Permission denied, please try again. ?
root@192.168.127.150's password: ??
Permission denied (publickey,gssapi-with-mic,password). ?
7、如果ssh想免密碼登錄自己,只需將在.ssh文件下執行?copy ?id_rsa.pub ?authorized_keys即可。
備注:
1、如果添加公鑰后,還是無法訪問,可能是PCA主機上面的一個文件known_hosts中已經存在PCB的ip信息,刪除重新訪問即可。
2、如果以上方法嘗試過后還是不行,可能是因為登錄失敗次數過多被鎖定,這個時候就需要去看看系統日志了/var/log/messages,將之前的鎖定信息日志刪除就可以了。
祝大家好運!!!
四、快捷方式:
假如A登錄B,那么需在A上操作:
1、生成密鑰對,命令如下:
ssh-keygen 一路回車即可。
2、將A的密鑰對添加到B的authorized_keys中,命令如下:
ssh-copy-id B
本文轉自lzf0530377451CTO博客,原文鏈接:?http://blog.51cto.com/8757576/1792238,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的linux远程登录ssh免密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 倒计时3天!荣耀Magic5系列将于27
- 下一篇: Linux下的screen(远程协作的用