ssh /sftp 免密登录
描述:在很多时候,几台服务器之间为了能彼此访问方便,不想每次登录的时候都去输入
密码,这时我们就需要配置免密配置,使用公钥和私钥的方式实现免密登录
安装步骤
如果我们想在A(192.168.102.128)服务上不输入密码登录B(192.168.102.129)服务
这里我们简称128,和129服务器
第一步
1 使用A用户登录128服务器,并进入家目录
# cd ~
# ssh-keygen -t rsa
# 一路默认回车
# ll -a //查看此时生成了.ssh目录,并生成了
第二步
# 将公钥id_rsa.pub复制到B(129)用户的家目录 ~/
# scp id_rsa.pub B@192.168.102.129:/home/B/id_rsa.pub
# 此时进入129服务器切换到B用户
# cd ~
# ll
# 如果B家目录下没有.ssh目录。那么就创建.ssh
# mkdir .ssh
# 创建后使用cat目录将id_rsa.pub公钥内容,写入到authorized_keys文件夹中
# cat id_rsa.pub >> .ssh/authorized_keys
# authorzied_keys 的权限要是 600 。
# chmod 600 .ssh/authorized_keys
# 并将.ssh目录的权限改成 755或700
# chmod 700 .ssh
第三步
验证是否可以登录
1 在A用户上使用 ssh B@192.168.102.129 登录
2 sftp B@192.168.102.129
注意事项
如果设置了免密登录,A->B登录时候无效仍然需要密码登录,那么我们需要进入129的root用户。然后查看下面的日志信息。根据提示的日志信息进行分析原因
tail -f /var/log/secure
这里分别提示了两个原因,都是因为.ssh目录和authorized_keys目录的所属权或模式不对。
解决方式:对于 authorized_keys公钥目录修改权限为600
# chmod 600 authorized_keys
# chmod 700 .ssh