温馨提示×

centos ssh公钥怎样添加

小樊
40
2026-09-14 20:44:41
栏目: 智能运维

在 CentOS 上添加 SSH 公钥,通常是为了免密登录允许某台机器/某人登录。下面按常见场景说明。


一、给自己(当前用户)添加 SSH 公钥(最常用)

1. 登录到 CentOS 服务器

ssh user@centos_ip

2. 创建 .ssh 目录(如果不存在)

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

3. 添加公钥

把你的 公钥内容(一般是 id_rsa.pub)粘贴进去:

vi ~/.ssh/authorized_keys

粘贴内容后保存。

或者一次性追加:

echo "ssh-rsa AAAAxxxx你的公钥内容" >> ~/.ssh/authorized_keys

4. 设置权限(非常重要)

chmod 600 ~/.ssh/authorized_keys

二、给 其他用户 添加 SSH 公钥

例如给 testuser 添加:

mkdir -p /home/testuser/.ssh
echo "ssh-rsa AAAAxxxx" >> /home/testuser/.ssh/authorized_keys
chown -R testuser:testuser /home/testuser/.ssh
chmod 700 /home/testuser/.ssh
chmod 600 /home/testuser/.ssh/authorized_keys

三、允许 root 登录(可选)

编辑 SSH 配置:

vi /etc/ssh/sshd_config

确认或修改为:

PermitRootLogin yes
PubkeyAuthentication yes

重启 SSH:

systemctl restart sshd

四、确认 SSH 服务状态

systemctl status sshd

五、常见问题排查

1. 仍然需要密码

  • 权限错误(.sshauthorized_keys
  • SELinux 未关闭或上下文错误
restorecon -Rv ~/.ssh

2. 防火墙

firewall-cmd --list-all

3. 云服务器

  • 检查安全组是否放行 22 端口

如果你是想:

  • 生成 SSH 密钥
  • 禁用密码登录
  • 批量添加公钥
  • 使用 Ansible / 脚本

可以告诉我具体场景,我给你更合适的做法。

0