设置SSH免密登录本机主要涉及生成密钥对、将公钥复制到本地(或远程服务器,如果是双向免密)以及测试免密登录等步骤。以下是一个基本的设置流程:
-
生成密钥对:
- 打开终端或命令提示符,并执行以下命令来生成RSA密钥对:
ssh-keygen -t rsa
- 系统将会提示你指定保存密钥文件的路径和文件名。默认情况下,密钥对将保存在用户主目录下的
.ssh
文件夹中,并命名为id_rsa
(私钥)和id_rsa.pub
(公钥)。你可以直接按回车键接受默认选项。
- 打开终端或命令提示符,并执行以下命令来生成RSA密钥对:
-
将公钥复制到本地(如果是双向免密,则还需复制到远程服务器):
- 由于是设置本机免密登录,所以实际上是将公钥复制到本机的SSH授权文件中。你可以使用
cat
命令将公钥的内容追加到~/.ssh/authorized_keys
文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 如果你的系统中没有
authorized_keys
文件,上述命令会创建它。
- 由于是设置本机免密登录,所以实际上是将公钥复制到本机的SSH授权文件中。你可以使用
-
测试免密登录:
- 现在,你可以尝试使用SSH命令登录本机,看是否需要输入密码。由于你设置了免密登录,所以应该不需要输入密码就能成功登录。
ssh localhost
- 或者,如果你设置了别名或使用了不同的用户名,你可能需要使用类似
ssh username@localhost
的命令来测试。
- 现在,你可以尝试使用SSH命令登录本机,看是否需要输入密码。由于你设置了免密登录,所以应该不需要输入密码就能成功登录。
请注意,SSH免密登录的安全性依赖于私钥的保护。确保你的私钥文件(id_rsa
)不会被未经授权的用户访问。此外,如果你的私钥文件丢失或被盗,你应该立即生成新的密钥对并更新所有相关服务器的authorized_keys
文件。
另外,如果你是在设置远程服务器的SSH免密登录,那么你需要将公钥复制到远程服务器的~/.ssh/authorized_keys
文件中,而不是本机的。这通常可以通过ssh-copy-id
命令或手动复制公钥文件并追加到远程服务器的authorized_keys
文件中来完成。