文章

🔑 配置 SSH 密钥登录:安全便捷的服务器访问方式

详细介绍如何配置 SSH 密钥登录,提高服务器访问的安全性和便利性

🔑 配置 SSH 密钥登录:安全便捷的服务器访问方式

在服务器运维中,SSH 密钥登录是一种更安全、更便捷的访问方式。相比密码登录,它不仅安全性更高,而且可以实现免密码登录,大大提升了运维效率。本文将详细介绍如何配置 SSH 密钥登录。


🎯 配置目标

  • 配置 SSH 密钥登录
  • 提高服务器访问安全性
  • 实现便捷的免密码登录
  • 配置 SSH 登录别名

📋 配置步骤

1. 服务器端配置

首先,我们需要在服务器上进行一些基础配置:

1
2
3
4
5
6
7
8
9
10
11
12
# 创建 .ssh 目录(如果不存在)
mkdir -p ~/.ssh

# 创建 authorized_keys 文件
touch ~/.ssh/authorized_keys

# 设置正确的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

# 确保文件所有权正确
chown -R user:user ~/.ssh

2. 添加公钥

将你的公钥添加到服务器的 authorized_keys 文件中:

1
2
3
4
5
# 在本地查看公钥
cat ~/.ssh/id_rsa.pub

# 将公钥内容添加到服务器的 authorized_keys 文件
echo "你的公钥内容" >> ~/.ssh/authorized_keys

3. 修改 SSH 服务配置

编辑 SSH 服务器配置文件以启用密钥登录:

1
2
# 编辑 sshd 配置文件
sudo vi /etc/ssh/sshd_config

添加或修改以下配置:

1
2
3
4
5
6
7
8
# 启用公钥认证
PubkeyAuthentication yes

# 启用 authorized_keys 文件
AuthorizedKeysFile .ssh/authorized_keys

# 建议:禁用密码认证(可选)
PasswordAuthentication no

4. 重启 SSH 服务

1
2
# 重启 SSH 服务以应用新配置
sudo systemctl restart sshd

🚀 使用密钥登录

配置完成后,可以使用以下命令登录服务器:

1
2
# 使用密钥登录
ssh -i ~/.ssh/id_rsa user@server_ip

⚡️ 配置 SSH 别名

为了更方便地登录服务器,我们可以配置 SSH 别名。编辑 ~/.ssh/config 文件:

1
2
3
4
5
# 创建或编辑 SSH 配置文件
vi ~/.ssh/config

# 设置文件权限
chmod 600 ~/.ssh/config

添加以下配置:

1
2
3
4
5
Host server1
  HostName server1.ip
  User user
  IdentityFile ~/.ssh/id_rsa
  Port 22

配置完成后,可以直接使用别名登录:

1
ssh server1

📝 小贴士

  • 始终保持私钥文件的安全,建议设置 600 权限
  • 定期更新密钥对以提高安全性
  • 可以为不同的服务器使用不同的密钥对
  • 建议在启用密钥登录并确认可用后再禁用密码登录
  • 记得备份你的密钥对,以防意外丢失

🔍 常见问题排查

如果遇到登录问题,请检查:

  1. 文件权限是否正确
    1
    
    ls -la ~/.ssh/
    
  2. SSH 服务状态
    1
    
    sudo systemctl status sshd
    
  3. SSH 服务器日志
    1
    2
    
    sudo tail -f /var/log/auth.log  # Ubuntu/Debian
    sudo tail -f /var/log/secure    # CentOS/RHEL
    

通过以上配置,你就可以使用更安全、更便捷的 SSH 密钥方式登录服务器了。这不仅提高了服务器的安全性,也让日常运维工作更加高效。


本文由作者按照 CC BY 4.0 进行授权