温馨提示×

centos ssh免密怎么做

小樊
39
2026-10-17 09:08:27
栏目: 智能运维

在 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 时)

  1. 查看公钥内容:
cat ~/.ssh/id_rsa.pub
  1. 登录服务器,写入 authorized_keys:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

把公钥内容粘贴进去,保存。

  1. 修改权限:
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 配置是否允许公钥登录

编辑:

vi /etc/ssh/sshd_config

确认:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改后重启:

systemctl restart sshd

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

确认免密可用后:

PasswordAuthentication no

然后:

systemctl restart sshd

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

0 踩