免密登录远程ssh
2026/9/24 20:49:51 网站建设 项目流程

参考文档:https://zhuanlan.zhihu.com/p/667236864

每次连接都需要输入密码未免有些麻烦,一台机器想要免密访问其他机器,需要把自己的公钥内容发送到别的机器的authorized_keys中去,并在本机config文件中配置私钥文件位置。

  1. 生成新的密钥对

    使用命令ssh-keygen生成新的密钥对。你可以选择在生成密钥对时为其指定不同的文件名。请注意,-f后的id_rsa_windows只是示例文件名,你可以根据需要选择其他文件名。

# 在 Windows 上 ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa_windowsx

输入命令后一路回车

2. 添加公钥到远程服务器

将生成的公钥(id_rsa_windows.pub的内容)添加到你远程服务器的authorized_keys文件中,以允许连接。

  • 手动复制:手动复制公钥文件 (id_rsa_windows.pub) 的内容,然后登录到远程服务器,并将内容粘贴到authorized_keys文件。如下是我生成的id_rsa_windows.pub文件内容:

在远程服务器上,authorized_keys文件通常存储在用户的.ssh目录中。具体路径可能为~/.ssh/authorized_keys

如果你的.ssh目录或者authorized_keys文件不存在,你可以在服务器终端使用以下命令创建它:

# 创建目录 mkdir ~/.ssh # 进入目录 cd ~/.ssh # 创建 authorized_keys 文件 touch authorized_keys # 使用文本编辑器打开 authorized_keys 文件,并将你的公钥内容粘贴到其中 vim authorized_keys # 保存并关闭文本编辑器。

不熟练使用终端,也可以使用VSCode的资源管理器直接创建,粘贴公钥后保存。

3. 配置 SSH 客户端:

将添加公钥到远程服务器后,最后一步便是配置你的主机。

打开你的 SSH 客户端(本机)配置文件(也就是前面生成的config文件,一般在C:\Users\YourUsername\.ssh\config),添加配置(IdentityFile私钥文件路径),以指定使用哪个私钥文件。下图红框为我添加的内容。

这样,当你使用 ssh 连接服务器时,SSH 客户端将自动选择相应的私钥文件,就可以实现免密登录了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询