随着云计算技术的普及,越来越多的企业和个人选择在云服务器上部署应用程序和服务。为了提高安全性,许多用户选择使用密钥对(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密钥对进行远程访问。记住,始终保持私钥的安全,并定期备份重要数据。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/53326.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。