在Ubuntu系统中使用SSH密钥认证可以提供更安全的远程登录方式。以下是设置和使用SSH密钥认证的步骤:
打开终端。
输入以下命令生成一个新的SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这里,-t rsa
指定使用RSA算法,-b 4096
指定密钥长度为4096位,-C
是注释,可以填写你的邮箱地址。
按照提示操作,选择保存密钥的位置(通常是 ~/.ssh/id_rsa
)和设置一个可选的密码短语。
使用 ssh-copy-id
命令将公钥复制到远程服务器:
ssh-copy-id user@remote_host
其中,user
是远程服务器上的用户名,remote_host
是远程服务器的IP地址或域名。
如果 ssh-copy-id
命令不可用,你可以手动复制公钥:
~/.ssh/id_rsa.pub
)。~/.ssh/authorized_keys
文件:nano ~/.ssh/authorized_keys
现在你可以使用SSH密钥认证登录到远程服务器:
ssh user@remote_host
如果设置了密码短语,系统会提示你输入密码短语。
你可以在 ~/.ssh/config
文件中配置SSH客户端,以便更方便地使用SSH密钥认证。例如:
Host remote_host
HostName remote_host_ip_or_domain
User user
IdentityFile ~/.ssh/id_rsa
为了提高安全性,你可以禁用SSH密码登录,只允许密钥认证。编辑远程服务器上的 /etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
PasswordAuthentication no
保存并退出,然后重启SSH服务:
sudo systemctl restart sshd
通过以上步骤,你就可以在Ubuntu系统中使用SSH密钥认证进行安全的远程登录了。