要在Linux中通过SSH命令设置密钥认证,请按照以下步骤操作:
- 首先,确保你已经在本地计算机上生成了SSH密钥对(公钥和私钥)。如果没有,请使用以下命令生成一个新的密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,你可以选择使用默认的文件路径或者自定义文件路径来保存密钥对。
- 将本地计算机的公钥添加到远程服务器的
~/.ssh/authorized_keys
文件中。你可以使用以下命令将公钥复制到远程服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
其中,user
是远程服务器上的用户名,remote_host
是远程服务器的地址。在执行此命令时,系统会提示你输入远程服务器的密码。
- 确保远程服务器上的SSH配置文件(通常位于
/etc/ssh/sshd_config
)允许使用密钥认证。找到或添加以下配置行:
PubkeyAuthentication yes
- 为了提高安全性,你还可以禁用密码认证。找到或添加以下配置行:
PasswordAuthentication no
- 保存并关闭SSH配置文件。然后,重启SSH服务以使更改生效:
sudo systemctl restart ssh
或者
sudo service ssh restart
现在,你应该可以使用密钥认证通过SSH连接到远程服务器了。当你尝试连接时,系统会提示你输入私钥的密码(如果你设置了的话)。