引言
SSH(Secure Shell)是一种网络协议,用于计算机之间的安全通信和数据传输。在Ubuntu系统中,SSH密钥认证是一种更为安全且方便的远程登录方式。本文将详细介绍如何在Ubuntu上生成SSH密钥,并配置SSH客户端以实现一键安全远程登录。
生成SSH密钥
打开终端。
输入以下命令生成SSH密钥对:
ssh-keygen -t rsa -b 4096
该命令会提示你输入文件保存路径和密码。文件保存路径默认为
~/.ssh/id_rsa
,密码用于加密私钥文件,保护你的私钥不被未授权访问。
按照提示输入信息,完成后,你将在
~/.ssh
目录下找到两个文件:
id_rsa
(私钥)和
id_rsa.pub
(公钥)。
配置SSH客户端
以下以Xshell为例,介绍如何在SSH客户端配置SSH密钥。
打开Xshell。
创建一个新的会话,输入远程服务器的IP地址和端口号(默认端口号为22)。
在“用户身份验证”选项卡中,选择“密钥文件”作为身份验证方式。
点击“浏览”按钮,选择你的私钥文件(
id_rsa
)。
输入密码(生成密钥时设置的密码)。
配置SSH服务器
为了使SSH密钥认证生效,你还需要在远程服务器上配置SSH服务器。
登录远程服务器。
输入以下命令将公钥添加到授权用户列表:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改
authorized_keys
文件的权限,确保只有所有者可以访问:
chmod 600 ~/.ssh/authorized_keys
重启SSH服务以使配置生效:
systemctl restart ssh
总结
通过以上步骤,你已经在Ubuntu上成功设置了SSH密钥,并配置了SSH客户端以实现一键安全远程登录。使用SSH密钥认证可以避免密码泄露的风险,提高远程登录的安全性。