当前位置: 首页 > news >正文

vscode通过ssh连接服务器(吐血总结)

一、通过ssh连接服务器

1、打开vscode,进入拓展(Ctrl+Shift+X),下载拓展Remote - SSH。

2、点击远程资源管理器选项卡,选择远程(隧道/SSH)类别。

3、点击SSH配置。

4、在中间上部分弹出的配置文件中点击第一个....config。

5、在点进的config文件中输入以下内容。

ps:

这里的hostname是服务器的ip地址;

port端口号有就写上,没有的话可以不写;

user是服务器上用户的用户名

(例如:Linux中 “用户名”+@+“服务器ip地址” 就是访问服务器上用户的服务器用户访问地址。)

6、点击保存后点击刷新按钮。

7、这时候就可以看到刚刚创建的配置了。

8、Ctrl + Shift + P,打开命令窗口,输入ssh connect to host,选择第一个,

9、选择刚刚创建好的那个配置。

10、询问是否保存known_hosts,选择Continue。

11、输入服务器上用户的密码

12、该用户第一次访问该服务器可以看到该提示信息,耐心等待,这时是插件在服务器上面安装需要的依赖,大约会占用服务器150mb左右的空间。

13.如果长时间都一直是该情况,可以使用Ctrl + Shift + P,打开命令窗口,输入reload window来重新加载窗口(会要求你重新手动输入密码)。

14.最终显示如下页面就代表已经连接成功了。

二、设置免密登录

1、生成ssh使用的公钥/密钥对。(公钥给服务器用,秘钥给自己客户端用)

   [在vscode终端或者cmd中进行如下代码输入]

(1)直接使用终端在用户本机生成公钥和私钥。输入命令ssh-keygen -t rsa

ssh-keygen -t rsa

(2)终端会出现以下提示,可以自己定义密钥名(就是自己定义文件所在位置),也可以直接跳过,默认在C盘中的C:\Users\“用户名”\.ssh中。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/~your-local-username~/.ssh/id_rsa):

生成如下配置文件:

ps:

这里id_rsa.pub就是公钥,在服务器端使用;

id_rsa是私钥在用户端使用;

config文件是之前设置的hostname、port、user的那个文件

(3)接下来终端会提示输入密码 passphrase,这个密码为生成私钥的密码,将来防止私钥被其他人盗用。这里可以设定,也可以不输入任何密码,直接回车,再次提示输入密码,再次回车。生成新的密钥。

(4)在服务器路径下创建.ssh文件夹

 # 创建目录mkdir ~/.ssh# 进入目录cd ~/.ssh# 创建 authorized_keys 文件touch authorized_keys

# 把公钥文件id_rsa.pub拷贝到需要登录的服务器上(存储路径可以随意,但是之后加入到另一个文件尾部的时候注意路径地址。)

(5)将公钥id_rsa.pub填充到authorized_keys尾部

cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

(6)配置 SSH 客户端(!!!!这里可以不设置。如果之前的步骤已经可以免密连接服务器,那这一步就不设置了!!!!)

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

配置完成后即可免密远程登录其他服务器啦!!!~~~

 参考博客:

https://blog.csdn.net/savet/article/details/131683156

服务器免密登录-CSDN博客

VSCode配置 SSH连接远程服务器+免密连接教程 - 知乎

Linux免密登录远程服务器_id_rsa.pub linux-CSDN博客

相关文章:

  • 【测试篇】测试用例
  • Claude-3全解析:图片问答,专业写作能力显著领先GPT-4
  • 如何正确使用reflect:Go反射规范与最佳实践
  • Linux的学习之路:4、权限
  • 某眼实时票房接口获取
  • 记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选
  • UniswapV2周边合约学习(五)-- ExampleFlashSwap.sol
  • Acwing.1388 游戏(区间DP对抗思想)
  • [环境配置]conda 64位安装32位python
  • 【大模型】大模型 CPU 推理之 llama.cpp
  • 阿里云通用算力型u1云服务器配置性能评测及价格参考
  • CAD Plant3D 2023 下载地址及安装教程
  • Linux运维-SHELL编程之正则表达式与流编辑处理器
  • 吴恩达:AI 智能体的四种模式
  • 深入PostgreSQL中的pg_global表空间
  • 《剑指offer》分解让复杂问题更简单
  • Create React App 使用
  • Javascript 原型链
  • k8s如何管理Pod
  • nginx 配置多 域名 + 多 https
  • React-redux的原理以及使用
  • Unix命令
  • vue 个人积累(使用工具,组件)
  • vue数据传递--我有特殊的实现技巧
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 第2章 网络文档
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 聊一聊前端的监控
  • 前端自动化解决方案
  • 我有几个粽子,和一个故事
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 学习JavaScript数据结构与算法 — 树
  • 回归生活:清理微信公众号
  • # 达梦数据库知识点
  • #android不同版本废弃api,新api。
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $.proxy和$.extend
  • (C++)八皇后问题
  • (C语言)共用体union的用法举例
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (SpringBoot)第七章:SpringBoot日志文件
  • (八)Flask之app.route装饰器函数的参数
  • (动态规划)5. 最长回文子串 java解决
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)Thymeleaf用法——Thymeleaf简介
  • (已解决)什么是vue导航守卫
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)socket Aio demo
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net refrector
  • .NET上SQLite的连接
  • .net网站发布-允许更新此预编译站点
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ linux ] linux 命令英文全称及解释