ssh 免密登录服务器(vscode +ssh 免密登录)

发布于:2025-04-17 ⋅ 阅读:(33) ⋅ 点赞:(0)

每次打开vscode连接服务器都需要输入密码,特别繁琐。
然后自己在网上翻阅了一下教程,发现说的内容比较啰嗦,而且个人感觉非常有误导性倾向。
因此自己直接干脆写一个简便易懂的教程算了。
(以经过本人亲测,真实可靠)

windows 免密连接远程服务器

1. 生成 SSH 密钥

== 这一步一定是在自己本地生成,还不是在服务器中去生成。 == 比如我本地是windows,然后通过cmd去ssh连接远程服务器,那么我首先需要在本地创建一个密钥(包含一个私钥和一个公钥)。

ssh-keygen -t rsa -C "your_email@example.com"
  • 一路回车即可
  • 然后这个存在公钥我本地的路径为:C:\Users\heroh/.ssh/id_rsa.pub
    • 这个路径在上述生成过程中可以查看

2. 将密钥中的公钥传到服务器

  1. 如果你的windows安装了git bash,那么在git bash中运行以下命令
ssh-copy-id -i C:\Users\heroh/.ssh/id_rsa.pub -p 22 user@serverIp
  • 第一个参数就是我本地公钥的路径地址
  • -p:指定端口号,默认为22
  1. 也可以通过 PowerShell 命令一键完成
# 直接通过管道将公钥写入服务器(需输入密码)
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@serverIp "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

过程说明

  1. 首次运行 ssh-copy-id 时,需要输入服务器的密码来完成公钥的传输
  2. 输入密码后,ssh-copy-id 会将公钥上传到服务器的 ~/.ssh/authorized_keys 文件中
  3. 如果成功,你会看到类似以下输出:
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p 12803 root@xxxx.com"
and check to make sure that only the key(s) you wanted were added.

3. 验证免密登录

ssh -p 22 user@serverIp

如果不需要密码,那就说明你已经成功了。

vs code 免密登录

完成上述操作后,你已经完成80%的操作了。

  1. 在vs coder 扩展市场中下载 Remote-SSH 扩展
    在这里插入图片描述
  2. 进入扩展配置
    在这里插入图片描述
  3. 配置你服务器的ip和port即可
Host 111.111.111.111
  HostName 111.111.111.111
  User root
  Port 60022
  1. 然后回到上面第二步,选择你的服务器连接即可

网站公告

今日签到

点亮在社区的每一天
去签到