VSCode作为终端工具替代FinalShell和MobaXterm

转自我的个人博客https://blognas.hwb0307.com。欢迎关注!

前言

不知小伙伴们都用过哪些终端工具?我有用过XShell、FinalShell和MobaXterm,其实都各有各的特点,特别是MobaXterm,我觉得是比较完美的终端工具。不过,今天和小伙伴们讨论的时候,发现VSCode也可以作为一个终端工具

所以有点按捺不住那颗想要折腾的心了!

而且,我们可以直接利用VSCode本地编辑器对远程文件进行预览和编辑,这是使用VSCode作为终端工具的最大卖点之一吧:

你甚至可以用来预览图片!一般的终端工具应该是做不到的。

我平时使用Python的时候就会使用VSCode;VSCode本身也是一个比较流行的IDE。我个人喜欢VSCode的主要原因是因为它兼容性比较好,插件功能强大,颜值高,比较适合我这种编程小白。初步体验了一下它的SSH功能,效果不错!如果你本来就在使用VSCode,它也可以作为一个终端工具喔!你也不用纠结要用Final Shell还是MobaXterm了!

这一期我们不讲怎么安装VSCode,大家可以在官网下载并安装即可:VSCode下载。对于Windows系统的用户来说,和安装一般的.exe软件没有太大的区别。我主要讲(shui)一下怎么将VSCode打造成一个远程访问VPS的终端工具

安装Remote-SSH扩展

首先,我们要在本地VSCode客户端上安装一个VSCode的扩展,叫Remote - SSH。它的主要作用就是提供ssh访问的基本功能:

成功安装后,左侧栏中会出现一个电脑显示器的图标。依下图所示打开config文件(对Windows用户来说,路径一般是C:\Users\Administrator\.ssh\config),进行相关的设置:

内容类似于:

Host 主机1
  HostName 192.168.1.151
  User user1
  Port 22

Host 主机2
  HostName 192.168.1.152
  User user3
  Port 1452

Host 主机3
  HostName 192.168.1.153
  User user3
  Port 3355

主机1为例,参数解释如下:

  • Host:主机的名字。随便取,只为了自己识别方便。
  • HostName:通常是一个ip地址,可以是公网ip;如果是访问局域网机器,就写一个局域网ip。
  • User:用户名
  • Port:ssh端口。默认是22;如果你的VPS自定义了ssh端口,比如1234,就使用1234。

加几台主机就会显示几台主机,没有数量限制。注意,不需要填写密码

在VPS上添加本地公钥

不太推荐登陆时使用密码,直接让远程的VPS信任本地主机就好。一般来说,如果你的电脑里用过ssh服务的话,.ssh文件夹里都会有这两个文件:

id_rsa
id_rsa.pub

如果没有这两个文件,对Windows用户而言,可以用管理员权限打开cmd或者Power Shell,输入ssh-keygen,按提示操作即可生成这两个文件。id_rsa是私钥,只能保存在本地电脑,不可让其它人知道;id_rsa.pub是公钥,保存在远程VPS中,让其它人知道也无所谓(一般也只是自己知道啦)。

这时,如果你想要通过访问某VPS中的某个用户,要先利用该用户的身份登陆VPS,进入用户的home目录,然后将id_rsa.pub的内容添加到该用户的.ssh文件夹里的authorized_keys文件里,类似于:

这样,远程VPS就会信任我们的本地电脑,访问的时候就不需要密码了

如果这个用户没有.sshauthorized_keys这两个文件(如果从来没设置过,一般是没有的),可以手动创建,然后运行命令sudo service sshd restart重启ssh服务生效。

让VPS信任我们的本地电脑后,我们直接右键某条SSH记录,直接点击Open on SSH Host in Current Window(在本窗口访问)或者Open on SSH Host in New Window(在新窗口访问):

即可正常访问。登陆成功后,左下角会出现SSH:主机1之类的字样。

第一次连接时,由于需要在VPS端安装vscode sever,所以时间会略长。之后登陆速度就会蛮快的了。

打开Shell

默认情况下,按Ctrl+j就可以调出Shell,再按一次Ctrl+j就会隐藏Shell。按右边的^图案可以向上填充Shell。这个是VScode的常规操作,与Remote SSH并无直接关联。

选择目录

有时候,我们想进入某个目录对某个文件进行编辑。默认情况下,你可以按Ctrl+k+o就可以调出目录选择;按Esc就可以退出选择。通常,你可以选择一个高级目录,比如根目录/,这样就不需要频繁地切换目录。VSCode每次切换这个工作目录都要重新连接一次。

当然,你编辑文件的时候,权限来自之前authorized_keys所对应的用户的权限。比如你登陆的是一个普通用户,是没有办法直接读写或执行root用户的文件的(除非root给予你相应的权限)。

上传文件

如果你要上传文件,直接拉到目录里就行了,这和大多数终端工具的行为是类似的:

无法登陆?

我今天在自己的NAS里就遇到无法用VSCode登陆的情况。经过一翻调查,这通常是由于系统里没有VSCode的下载源所致的。我们按以下步骤进行解决:

  • 通过root权限将/etc/ssh/sshd_config文件中的AllowTcpForwarding设定为yes。

  • 重启ssh服务:sudo service sshd restart

  • 删除旧的VSCode文件夹:rm -rf .vscode-server/

  • 安装好VSCode源(以Debian系的Linux发行版为例):

# 下载必要软件 sudo apt-get install software-properties-common apt-transport-https curl # 下载微软的asc文件 curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - # 添加仓库 sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" # 更新软件列表 sudo apt update

最后,再重新通过本地的VSCode去连接此VPS或NAS,则可成功。

小结

设置其实也不难,就是安装一个拓展。VSCode本身也是一个强大的工具,以后有机会再多多介绍吧!我先试用一段时间,之后会陆续反馈体验效果!

参考

本文使用 文章同步助手 同步

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容