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. 然后回到上面第二步,选择你的服务器连接即可

相关推荐
cuijiecheng20183 小时前
Linux下Beyond Compare过期
linux·运维·服务器
期待のcode4 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务4 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
松涛和鸣7 小时前
49、智能电源箱项目技术栈解析
服务器·c语言·开发语言·http·html·php
凉、介7 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
RisunJan7 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器
HABuo8 小时前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
wzfj123458 小时前
vscode通过remote-ssh快速浏览远程pc的文件
vscode
橘颂TA8 小时前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁