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

VScode对Ubuntu用root账号进行SSH远程连接开发

由于linux服务器大部分都是基于命令行的操作,缺乏比较方便好用的编辑工具,对于经常在linux服务器上做开发的同学来说直接在服务器上进行开发或配置文件的修改还不是特别的方便。虽然linux上有vi或vim比起图形化的编辑工具体验感还是不是很好。作为程序员常用的宇宙第一的VScode就提供了相应的插件可以通过ssh远程连接到服务器上直接编辑服务器上相应的文件,极大提高了在服务器上开发或修改配置文件的效率和体验感。本文就来介绍通过VScode对Ubuntu用root账号进行SSH远程连接直接在服务器上进行开发。

一、安装VScode的ssh扩展插件

Remote-SSH 扩展 允许你将任何带有 SSH 服务器的远程机器用作你的开发环境。这可以在多种情况下极大地简化开发和故障排除:

  • 在部署目标操作系统上开发​,或者使用比本地机器更大、更快或更专业化的硬件进行开发。
  • 轻松切换不同的远程开发环境,并安全地进行更新​,而无需担心影响本地机器。
  • 从多台机器或不同位置访问现有的开发环境。
  • 调试运行在其他地方(例如客户现场或云端​)的应用程序。

在VScode的编辑器界面在Extension中搜索ssh排名前三的Remote-SSH、Remote - SSH: Editing Configuration Files、Remote Explorer是微软官方的ssh扩展插件,都安装一下。

ssh扩展插件

安装好了后就会在左侧的导航看到Remote Exploer
Remote Exploer

在SSH中点“+” 后就可以在上面的导航输入框中输入要ssh连接服务器的命令。如:ssh xiejava@192.168.0.30 意思就是通过xiejava的用户名ssh登录到192.168.0.30的服务器。
New Remote

输入正确的口令后,表示服务器的图标变亮就意味着已经通过SSH连上了服务器了。
SSH连上了服务器

连上服务器后就可以通过命令来对服务器进行操作,也可以直接打开服务器上的文件进行操作了。
直接打开服务器上的文件进行操作

这样就可以直接在服务器上直接编辑文件,直接在命令行中输入命令执行,直接看到执行结果,简直不要太爽。
直接编辑文件

一般的教程到这里就结束了。但是有些Linux是默认不能使用root用户登录的如Ubuntu,如果不用root用户登录只能访问到登录用户的文件夹,如我是用xiejava登录的就只能访问到/home/xiejava的目录,只能在这个目录下新建和编辑相应的文件,而且每次打开编辑操作文件都要输入登录密码,作为服务器上的开发来说这显然是不可接受的。所以我们要用root账号进行ssh进行远程连接。

二、开启Ubuntu的root账号免密登录

1、生成SSH密钥对,并部署到服务器

要使 root 用户成功登录,需先在客户端生成 SSH 密钥对,并将公钥部署到服务器:

  1. 客户端生成密钥 (在本地PC执行):
ssh-keygen -t ed25519 -C "root_ssh_key"
  • 按提示选择保存路径(默认 C:\Users\你的用户名.ssh\id_ed25519)。
  • 连续按 3 次回车​,不设密码(实现完全免密)
    最后在文件夹中生成SSH密钥对
    [图片]
  1. 部署公钥到服务器​:
    登录 Ubuntu
    创建 .ssh 目录并写入公钥
mkdir -p ~/.ssh
echo "粘贴复制的公钥内容,也就是id_ed25519.pub文件里面的内容" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

2、测试免密登录

在 Windows PowerShell 执行:

ssh 用户名@Ubuntu_IP
  • 成功标志​:直接登录 Ubuntu,无需输入密码。
  • 失败表现​:提示输入密码或返回 Permission denied。

3、启用root用户

使用当前具有 sudo 权限的用户登录系统。执行密码修改命令

sudo passwd root
  • 输入当前用户的密码​(用于 sudo 提权)。
  • 输入新的 root 密码​(输入时不会显示字符)。
  • 再次确认新密码。
    禁用root密码登录(增强安全)​
sudo vim /etc/ssh/sshd_config

设置PermitRootLogin prohibit-password
PermitRootLogin prohibit-password

重启systemctl restart ssh

4、找到本地的ssh配置文件并配置密钥登录

在vscode中点击SSH旁边的配置按钮就会出现ssh本地的配置文件,一般是C:\Users\你的用户名\.ssh\config
找到本地的ssh配置文件

在config文件中配置User root 和IdentityFile 密钥文件的路径。
配置

这样就可以通过root进入到任何目录操作编辑任何文件了。
root免密登录

最后要提醒大家的是大家在修改任何配置文件的时候要注意备份和确认,因为获得了root权限可以操作编辑任何文件了。


博客地址:http://xiejava.ishareread.com/

http://www.dtcms.com/a/311457.html

相关文章:

  • MSQL-聚簇索引与非聚簇索引的比较
  • k8s的pod的YAML问题
  • 公共卫生场景下漏检率↓76%:陌讯动态特征融合算法在口罩识别中的实战解析
  • 7月销售超5万辆,零跑汽车再创单月历史新高
  • 开源列式分布式数据库clickhouse
  • SpringBoot 启动富文本文字更改
  • .NET 中,Process.Responding 属性用于检查进程的用户界面是否正在响应
  • Linux性能监控与调优全攻略
  • SpringCloud微服务
  • 1分钟临时共享空间在线小工具实现
  • 存储成本深度优化:冷热分层与生命周期管理——从视频平台年省200万实践解析智能存储架构
  • Qt 实战教程:使用 QNetworkAccessManager 发送 HTTP POST
  • SM2国密算法的大数运算原理详解
  • (吃饭)质数时间
  • 防御保护综合案例
  • 二分查找:高效搜索有序数组
  • 【论文笔记】Multi-Behavior Graph Neural Networks for Recommender System
  • 深度学习loss总结(二)
  • [硬件电路-116]:模拟电路 - 信号处理电路 - 程控增益放大器
  • Batch Normalization(BN):深度学习中的“训练加速器”与实践指南
  • LLM Prompt与开源模型资源(3)如何写一个好的 Prompt
  • 【转】大模型安全治理的现状与展望
  • 【REACT18.x】使用vite创建的项目无法启动,报错TypeError: crypto.hash is not a function解决方法
  • SpringCloud实战:机器人对战系统架构
  • 【LeetCode 热题 100】739. 每日温度——(解法一)单调栈+从右到左
  • STL 算法与迭代器终极指南:从基础到高级应用
  • 函数指针——回调函数
  • 文件同步神器-rsync命令讲解
  • ESP32- 项目应用1 智能手表之功能补全 #5
  • UDP通信中BIND端口号的作用解析,LOCALPORT的关系解析