在Ubuntu系统中生成SSH密钥的步骤如下:
打开终端(Terminal)。
输入以下命令来生成一个新的SSH密钥对。将your_email@example.com
替换为你自己的电子邮件地址,这个地址将用于识别你的密钥。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这里:
-t rsa
指定使用RSA算法。-b 4096
指定密钥长度为4096位。-C "your_email@example.com"
添加一个注释,通常是你的电子邮件地址。当提示你“Enter a file in which to save the key”时,按Enter键接受默认文件位置(通常是/home/your_username/.ssh/id_rsa
)。
接下来,系统会提示你输入一个安全的密码短语(passphrase)。你可以选择输入一个密码短语来增加密钥的安全性,也可以直接按Enter键留空。
密钥生成后,你可以使用以下命令来查看公钥内容:
cat ~/.ssh/id_rsa.pub
如果你在生成密钥时设置了密码短语,可能需要输入它才能查看公钥。
将生成的公钥添加到远程服务器的SSH密钥认证中。首先,你需要复制公钥内容。可以使用以下命令:
pbcopy < ~/.ssh/id_rsa.pub
然后,登录到你的远程服务器,并编辑或创建~/.ssh/authorized_keys
文件:
ssh your_username@remote_host
mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
在authorized_keys
文件中粘贴你的公钥内容,然后保存并退出编辑器。
确保远程服务器上的SSH配置允许密钥认证。编辑远程服务器上的/etc/ssh/sshd_config
文件:
ssh your_username@remote_host
sudo vi /etc/ssh/sshd_config
确保以下行没有被注释掉(即没有以#
开头):
PubkeyAuthentication yes
如果进行了更改,请重启SSH服务:
sudo service ssh restart
现在,你应该能够使用SSH密钥对来登录到远程服务器了。尝试使用以下命令登录:
ssh your_username@remote_host
如果一切设置正确,你将无需输入密码即可登录。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu SSH如何生成密钥对