如何配置SSH密钥免密登录服务器

Frieren 发布于 2026-03-25 25 次阅读


对于连接次数多的服务器,每次连接服务器都要输入密码确实很影响效率,最安全且一劳永逸的方法就是配置SSH密钥登录(也就是免密登录)。

1. 在本地电脑上生成SSH密钥

如果你之前没有生成过密钥,需要先在本地电脑(不是服务器上)生成一对。

  1. 打开你本地电脑的终端(Windows 用户可以打开 PowerShell 或 CMD,Mac/Linux 用户打开 Terminal)。
  2. 输入以下命令并回车:ssh-keygen -t rsa -b 4096
  3. 接下来系统会提示你选择保存路径和设置密码:
    • 保存路径:直接按 回车 使用默认路径即可(通常在 ~/.ssh/id_rsa)。
    • 设置密码 (passphrase):为了实现完全免密,这里不要输入任何内容,连续按两次 回车 即可。

2. 将“公钥”发送到服务器

刚才的操作生成了两个文件:私钥(id_rsa,自己留着)和公钥(id_rsa.pub,要发给服务器)。根据你本地系统的不同,上传公钥的方法也不同:

如果你用的是 Mac 或 Linux(本地系统): 在终端直接输入以下命令(替换成你自己的用户名和服务器 IP),然后输入最后一次服务器密码即可:

ssh-copy-id 用户名@服务器IP

如果你用的是 Windows(本地系统): Windows 没有自带 ssh-copy-id 命令,最简单的方法是手动复制:

  1. 在本地电脑用记事本打开 C:\Users\你的用户名\.ssh\id_rsa.pub 文件,复制里面的所有内容(一长串以 ssh-rsa 开头的字符)。
  2. 在 VS Code 中,像往常一样输入密码连接到服务器。
  3. 在服务器的终端中,输入以下命令创建并编辑认证文件:mkdir -p ~/.ssh nano ~/.ssh/authorized_keys
  4. 将刚才复制的公钥内容粘贴到这个文件中。
  5. Ctrl + O 保存,回车确认,然后按 Ctrl + X 退出编辑。
  6. (重要)为了安全起见,在服务器终端执行以下命令修改权限:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

3. 配置 VS Code 的 SSH 配置文件 (推荐)

为了让 VS Code 连接更丝滑,可以在本地配置一下 SSH Config 文件。

  1. 在 VS Code 中,点击左下角的绿色远程连接图标
  2. 选择 "Open SSH Configuration File" (打开 SSH 配置文件)。
  3. 选择你本地用户的那个 config 文件(通常在 C:\Users\用户名\.ssh\config~/.ssh/config)。
  4. 像这样配置你的服务器信息:
Host MyServer # 你给服务器起的别名,随便写 
    HostName 服务器IP地址 # 比如 192.168.1.100 
    User 你的用户名 # 比如 root 或 ubuntu 
    IdentityFile ~/.ssh/id_rsa # 这里指向你刚才生成的本地私钥路径

保存文件后,下次在 VS Code 里直接点击 MyServer 就可以秒连了,再也不用输入密码。

此作者没有提供个人介绍。
最后更新于 2026-03-25