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

每次打开vscode连接服务器都需要输入密码,特别繁琐。

然后自己在网上翻阅了一下教程,发现说的内容比较啰嗦,而且个人感觉非常有误导性倾向。

因此自己直接干脆写一个简便易懂的教程算了。

(以经过本人亲测,真实可靠)

windows 免密连接远程服务器

1. 生成 SSH 密钥

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

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

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

  1. 如果你的windows安装了git bash,那么在git bash中运行以下命令
shell 复制代码
ssh-copy-id -i C:\Users\heroh/.ssh/id_rsa.pub -p 22 user@serverIp
  • 第一个参数就是我本地公钥的路径地址
  • -p:指定端口号,默认为22
  1. 也可以通过 PowerShell 命令一键完成
shell 复制代码
# 直接通过管道将公钥写入服务器(需输入密码)
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. 如果成功,你会看到类似以下输出:
shell 复制代码
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. 验证免密登录

shell 复制代码
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

  4. 然后回到上面第二步,选择你的服务器连接即可

相关推荐
wanhengidc6 小时前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
有谁看见我的剑了?6 小时前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
金色光环8 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
一曦的后花园12 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
NQBJT12 小时前
VS Code配置Python人工智能开发环境
开发语言·人工智能·vscode·python
桌面运维家13 小时前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器
@CLoudbays_Martin1113 小时前
UniApp是否能够接入SDK游戏盾呢?
服务器·网络·网络协议·tcp/ip·安全
郝亚军14 小时前
ubuntu 22.04如何安装libmodbus
运维·服务器·ubuntu
李日灐14 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile