温馨提示×

centos ssh免密怎么弄

小樊
42
2026-09-21 00:28:30
栏目: 智能运维

在 CentOS 上配置 SSH 免密登录(公钥登录),一般步骤如下:


一、在客户端生成密钥(你登录的那台机器)

ssh-keygen -t rsa -b 4096

一路回车即可(默认生成在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub)


二、把公钥拷贝到目标服务器(CentOS)

方法 1:使用 ssh-copy-id(最简单)

ssh-copy-id user@server_ip

示例:

ssh-copy-id root@192.168.1.100

输入一次密码后,以后即可免密登录。


方法 2:手动复制(无 ssh-copy-id 时)

在客户端执行:

cat ~/.ssh/id_rsa.pub

复制内容,到服务器上:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

粘贴公钥,保存后:

chmod 600 ~/.ssh/authorized_keys

三、测试免密登录

ssh user@server_ip

如果不需要输入密码,说明成功 ✅


四、常见问题排查

1. 权限不对(最常见)

服务器上必须是:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

2. SELinux 影响(CentOS 特有)

restorecon -Rv ~/.ssh

3. SSH 配置限制

检查 /etc/ssh/sshd_config:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改后重启:

systemctl restart sshd

五、(可选)禁止密码登录(更安全)

确认免密可用后:

PasswordAuthentication no
systemctl restart sshd

如果你是想 CentOS → CentOS 或 Windows → CentOS,也可以告诉我,我可以给你对应版本。

0 踩