在 CentOS 上设置 SSH 免密登录,一般步骤如下(以 A 机器免密登录 B 机器 为例):
ssh-keygen -t rsa
一路回车即可(默认生成在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)
ssh-copy-id user@B_IP
输入 B 机器密码后即可完成。
在 A 机器:
cat ~/.ssh/id_rsa.pub
复制内容
在 B 机器:
mkdir -p ~/.ssh
echo "粘贴公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
ssh user@B_IP
无需输入密码即成功。
权限问题
~/.ssh 权限:700authorized_keys 权限:600SELinux 影响
restorecon -Rv ~/.ssh
sshd 配置
确保 /etc/ssh/sshd_config 中:
PubkeyAuthentication yes
修改后重启:
systemctl restart sshd
如果你是要 集群多台机器互信 或 root 用户免密,可以告诉我,我给你对应方案。