admin管理员组

文章数量:1446759

【Linux工具篇】保姆级配置vscode连接远端主机以及免密配置

零、引言

因为输入密码用vscode登录远程主机太麻烦了,所以我就在网上寻找教程,本来寻思几分钟就能完了的事,找了半天没成功,还是最后求助的deepseek,跟deepseek也是又过了十分钟左右终于找出问题所在,如果想要进行vscode免密连接远端主机的,看这一篇就够了

一、登录vscode

1、安装插件

首先呢,在扩展中安装远程登录插件Remote - SSH

我这里还安装了汉化包Chinese (Simplified)

2、连接远端主机

在当前页面下按F1,然后输入Connect to Host,然后点击我用红色圆圈圈出来的

3、添加主机

点击添加新的SSH主机,因为我这里添加了一台,所以我有一个用户名,你那里如果没登录过那就只有一个添加新的SSH主机这个选项

接下来你需要输入登录远程主机的SSH命令,格式就像下面这样

代码语言:javascript代码运行次数:0运行复制
ssh [username]@[IPaddress]

方括号中的内容是需要填写你的配置的,如果你的用户名是super,IP地址是1.11.111.1111那么就如下填写:

代码语言:javascript代码运行次数:0运行复制
ssh super@1.11.111.1111

如果主机使用的是自定义端口,就要制定端口(假设端口为100)

代码语言:javascript代码运行次数:0运行复制
ssh super@1.11.111.1111 -p 100

4、配置

上面的动作回车后显示SSH配置文件,直接选择第一个就行

5、连接主机和操作系统

在这里我们直接点击连接,vscode会在上方询问远程服务器的操作系统类型,直接选择Linux,然后再次输入密码,我这里就不演示了,成功后左下角会显示远程主机用户名,这就是我们连接成功了

二、免密操作

1、生成本地密钥

Win+R打开输入cmd打开命令行控制器,输入ssh-keygen然后一直回车就行,直到出现下面那个框框就算成功了,我们就生成了公钥id_ed25519.pub和私钥id_ed25519

2、配置本地文件

在你的电脑中,找到路径C:\Users\[username]\.ssh找到文件config,这里的username就是你电脑用户的名字,如果没有.ssh文件就创建一个,要注意.ssh文件是隐藏文件,需要命令ls -a才能看到 用文本打开配置后我们应该只有前三行内容,或者配置过端口的会多一行端口内容,最后一行就写C:\Users\[username]\.ssh\[filename]username依旧是电脑用户名,然后filename就是生成的私钥名,上面我们生成的私钥名叫做id_ed25519那就写id_ed25519,这个公钥和私钥与config文件是在同一目录下的,这里的IdentityFile就是私钥文件的路径,自己找着写一下,我这里生成的是我自己生成的自定义名字的,其实不需要自定义名字,让它自己生成类似id_ed25519的名字即可

3、配置远端文件

然后还是在C:\Users\[username]\.ssh目录下找到公钥文件id_ed25519.pub,用文本打开公钥文件后复制

使用终端登录,进入隐藏目录.ssh,然后创建文件authorized_keys,已经有的就不用创建了

打开后将复制的公钥内容粘贴到里面,如果有你拥有多个远程主机,你都想要免密登录的话,就只粘贴公钥文件的内容到对应远程主机上的.ssh目录下的authorized_keys文件就好了,其他的操作都一样,到这里不少人的机器配置就没问题了,如果还有问题就看下边

4、检查

(一)文件权限是否够格
代码语言:javascript代码运行次数:0运行复制
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

这里只要最前边这个拥有者的权限满足即可,后面的权限看自己需要了

(二)查看服务器配置

执行下面这条语句就可以看到对应的文件

代码语言:javascript代码运行次数:0运行复制
sudo vim /etc/ssh/sshd_config

在文件中寻找下面的语句,如果文件中与下面不一致,修改为下面的内容 该两句语句在终端打开后一个在第一句,另一个也在靠前位置,仔细看

代码语言:javascript代码运行次数:0运行复制
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
(三)查看本地主机名映射

我的问题就出现在这里,我的主机名没完成映射

代码语言:javascript代码运行次数:0运行复制
# Linux/Mac:编辑 /etc/hosts
sudo vim /etc/hosts

在文件中添加一条内容

代码语言:javascript代码运行次数:0运行复制
1.11.111.1111 my-name

这里前面是你的远程主机的IP地址,后面的my-name在C:\Users\[username]\.ssh目录下的config中查看,第一行host后面跟的就是这个名字,复制粘贴即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-03-13,如有侵权请联系 cloudcommunity@tencent 删除连接配置主机linux工具

本文标签: Linux工具篇保姆级配置vscode连接远端主机以及免密配置