配置Linux SSH服务器以支持密钥登录涉及以下几个步骤:
-
生成SSH密钥对: 首先,你需要在你的本地机器上生成一个SSH密钥对。如果你还没有生成过密钥对,可以使用以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这个命令会在你的用户目录下的
.ssh
文件夹中生成两个文件:id_rsa
(私钥)和id_rsa.pub
(公钥)。 -
复制公钥到服务器: 接下来,你需要将生成的公钥复制到SSH服务器的
authorized_keys
文件中。假设你的用户名是yourusername
,你可以使用以下命令:ssh-copy-id yourusername@server_ip
这个命令会提示你输入服务器上的密码,然后将你的公钥添加到服务器上用户的
authorized_keys
文件中。 -
配置SSH服务器: 确保你的SSH服务器配置文件允许密钥登录。通常,这个配置文件位于
/etc/ssh/sshd_config
。你需要确保以下几行没有被注释掉(即没有以#
开头):PubkeyAuthentication yes PasswordAuthentication no
如果你想同时允许密码登录和密钥登录,可以将
PasswordAuthentication
设置为yes
。 -
重启SSH服务: 修改配置文件后,你需要重启SSH服务以使更改生效。可以使用以下命令:
sudo systemctl restart sshd
或者,如果你使用的是较旧的Linux发行版,可能需要使用:
sudo service ssh restart
-
测试密钥登录: 最后,你可以尝试使用密钥登录到服务器,以确保一切配置正确。使用以下命令:
ssh yourusername@server_ip
如果一切正常,你应该能够无需输入密码就能登录到服务器。
总结一下,配置Linux SSH服务器以支持密钥登录的主要步骤包括生成SSH密钥对、复制公钥到服务器、配置SSH服务器、重启SSH服务和测试密钥登录。