普通用戶如何設置免密碼ssh到另一台服務器
一.場景描述:
我有A,B兩台服務器,需要實現讓A服務器的普通用戶(ftpuser)不用輸入密碼就可以連接到B的(ftpuser)(此處A,B服務器的賬戶可以不同)
二. A上配置
① 生成秘鑰
# 用ftpuser連接到A,並運行如下命令: ssh-keygen #一路回車即可
② 將公鑰發送到B
# 上一步中會在A的/home/ftpuser/.ssh,生成兩個文件如下 id_rsa # 私鑰 id_rsa.pub #公鑰 將公鑰copy到B服務器 scp id_rsa.pub ftpshare@B:/tmp/key-A
三. B上配置
① 將copy的公鑰追加到,/home/ftpuser/.ssh/authorized_keys
cat /tmp/key-A >> /home/ftpuser/.ssh/authorized_keys # 備注此處可能會報錯,沒有.ssh,文件夾或者路徑不存在 mkdir /home/ftpshare/.ssh #新建文件夾即可。
② 確認權限是否正確(這里就是root與非root的區別)
chmod 700 /home/ftpshare/.ssh chmod 600 /home/ftpshare/.ssh/authorized_keys
四.連接
# 在A上 ssh ftpshare@B-IP 一句話總結:哪台服務器/home/user/.ssh/authorized_keys,文件里有我的公鑰,我就能用user登陸這台服務器。
root用戶如何設置免密碼ssh到另一台服務器
若需免密登錄到B的root用戶,需將公鑰追加到/root/.ssh/authorized_keys文件中;
普通用戶公鑰在/home/.ssh下,root用戶公鑰在/root/.ssh下。
1 . //在B(IP地址)服務器下執行:
2. root @用戶名: ~$ cat id_rsa.pub >>/root/.ssh/authorized_keys