前言:配置密钥,平时在ansible自动化工具用的较多。Mr.Robot
-------------------------------------------------------------
两台主机ip:
ip1:192.168.31.130
ip2:192.168.31.131
1. 安装依赖:
yum install -y openssh-clients
在ip1上执行:
# cd
# ssh-keygen -t rsa -P ‘‘
回车
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
回车
# ssh 192.168.205.131 ‘date‘;date
如果报错:
# rm -rf ~/.ssh/known_hosts
-------------------------------------------------------------------------------------
方法二:
在ip1:192.168.31.130上执行:
# ssh-keygen
回车
输入密码(第一次互信用的)
公钥和私钥都保存在 /root/.ssh下面。
# cat /root/.ssh/id_rsa.pub
在ip2:192.168.31.131上执行命令:
# mkdir /root/.ssh
# chmod 600 /root/.ssh
# cd /root/.ssh
# vim authorized_keys (把ip1的公钥复制到这里)
关闭防火墙:
# setenforce 0
永久性关闭:
# vim /etc/selinux/config
# SELINUX=disabled
# iptables -F
# service iptables save
在ip192.168.1.10上,ssh 192.168.1.11
出现 ssh: command not found
解决方案: yum install -y openssh-clients
安装完成在登录就如下:
ssh 192.168.1.11即可登录成功。按照相同的方法在ip2上执行相同的步骤。两个主机就能通过秘钥进行ssh了。
4.权限,普通用户需要
~/.ssh/ 700
.ssh/authorized_keys 644
.ssh/id_rsa 600 且属于你当前要添加的用户
5 常见问题:
1,第一次登录的时候需要互信,需要yes
2.文件名写错了
3.pub没有生成
4.disabled selinux
5.authorized_keys 权限有要求,一定是600,特别是非root用户的时候