ssh免密登录设置 (普通用户和root用户)
普通用户如何设置免密码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