关闭

亿通信息网

使用密钥对而非密码登录Linux云服务器的方法有哪些?

2025-01-17 00:00:00 浏览:465

随着云计算技术的普及,越来越多的企业和个人选择在云服务器上部署应用程序和服务。为了提高安全性,许多用户选择使用密钥对(SSH Key)而不是传统的密码来登录Linux云服务器。本文将介绍如何通过生成和配置密钥对来实现安全的远程登录。

1. 生成SSH密钥对

你需要在本地计算机上生成一对SSH密钥(公钥和私钥)。这可以通过运行以下命令来完成:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

该命令会生成一个RSA类型的密钥对,默认情况下保存在~/.ssh/目录下。系统会提示你输入一个文件名来保存密钥,默认为id_rsa。如果你是第一次生成密钥对,可以直接按回车键接受默认值。接下来,系统还会提示你设置一个密码短语(passphrase),用于保护私钥的安全性。你可以选择设置或跳过此步骤。

2. 将公钥添加到云服务器

生成密钥对后,需要将公钥上传到云服务器。大多数云服务提供商(如阿里云、腾讯云、AWS等)允许你在创建实例时直接指定公钥。如果你已经有一个正在运行的云服务器,可以按照以下步骤手动添加公钥:

1. 使用SSH连接到你的云服务器,假设你目前使用的是密码登录。
2. 在服务器上创建或编辑~/.ssh/authorized_keys文件:
vi ~/.ssh/authorized_keys
3. 将本地生成的公钥内容复制并粘贴到该文件中,每行代表一个公钥。
4. 保存并退出编辑器。

3. 配置本地SSH客户端

为了确保每次连接都使用密钥对而不是密码,你需要修改本地SSH客户端的配置文件。通常,这个文件位于~/.ssh/config。如果没有该文件,你可以创建它,并添加以下内容:

Host your_server_ip    HostName your_server_ip    User your_username    IdentityFile ~/.ssh/id_rsa

其中,your_server_ip是你的云服务器IP地址,your_username是你在服务器上的用户名,~/.ssh/id_rsa是你的私钥路径。

4. 测试连接

完成上述步骤后,尝试通过SSH连接到云服务器:

ssh your_username@your_server_ip

如果一切配置正确,你应该能够顺利登录,而无需输入密码。首次连接时,系统可能会提示你确认服务器的身份。只需回答“yes”即可。

5. 禁用密码登录(可选)

为了进一步增强安全性,建议禁用密码登录,只允许使用密钥对进行认证。为此,你需要编辑服务器上的SSH配置文件/etc/ssh/sshd_config,找到并修改以下参数:

PasswordAuthentication noChallengeResponseAuthentication noUsePAM no

保存更改后,重启SSH服务以使新设置生效:

sudo systemctl restart sshd

请注意,在执行此操作之前,确保你已经成功使用密钥对登录,以避免被锁定在外。

使用密钥对登录Linux云服务器不仅提高了安全性,还简化了日常管理任务。通过遵循本文中的步骤,你可以轻松地设置并使用SSH密钥对进行远程访问。记住,始终保持私钥的安全,并定期备份重要数据。