在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密钥认证进行安全的远程登录了。