VSCode - 使用VSCode远程连接到Linux并实现免密码登录

VSCode - 使用VSCode远程连接到Linux并实现免密码登录

VSCode平台:Windows - 其他平台也大同小异,无非就是生成公钥和复制公钥
Linux:Ubuntu14.04 - 其他发行版应该也差不多

一、安装VSCode扩展

  1. 扩展一栏搜索remote
  2. 找到Remote Development插件
  3. 直接点击Install安装即可

这是一个Extension Pack,也就是扩展包,会直接安装包含Remote远程开发相关的3个插件
Remote插件

二、Linux那边的工作

① 为Linux安装ssh服务(若已安装请跳到②)

具体可参考:https://blog.csdn.net/wgc0802402/article/details/91046196

  • 执行命令即可安装

    sudo apt install openssh-server -y
    
  • 检查服务是否已经运行

    ps -e | grep sshd
    

    sshd

② 确定Linux的IP地址

使用云服务器的玩家请自行查找

如果用的是虚拟机,可以用这2个命令查看本地IP地址

  • ip addr
    查看地址_1

  • ifconfig

    可能需要安装:sudo apt install net-tools -y

    查看地址_2


现在我们以该地址192.168.132.134,用户名为tkk从Windows的VSCode连接


三、使用VSCode远程连接到Linux

① 操作一波
  1. 点击左下角的图标

  2. 选择Connect Current Window to Host...
    步骤_1

  3. 选择Add New SSH Host
    步骤_2

  4. 命令格式:ssh 用户名@地址
    步骤_3

  5. 默认选项即可
    步骤_4

  6. 看到右下角的弹窗Host added,添加完成!
    到这里就可以正常操作了,重复刚才的步骤
    步骤_5

  7. 可以看到刚才添加的Host,选择它
    步骤_6

  8. 选择Linux
    选择Continue
    步骤_7
    步骤_8

  9. 最后一步!输入密码!回车!结束!
    步骤_9

四、实现免密码登录

由于每次切换目录都要输入密码,所以学习了下使用公钥登录的方法,现总结一下简单的使用方法

① Windows生成公钥

私钥和公钥在目录C:\Users\用户名\.ssh
分别是id_rsaid_rsa.pub
若已有请跳到②

  1. 打开CMD
  2. 输入命令ssh-keygen
  3. 三次回车确认即可生成
    生成key
  4. 到目录C:\Users\用户名\.ssh查看公钥
    记事本打开id_rsa.pub
    全部复制
    查看公钥
② Linux操作
  1. 检查是否有.ssh文件夹

    cd ~
    ls -a # .ssh是隐藏的,需要用-a才能看到
    

    如果有则看下一步
    .ssh
    如果没有

    cd ~
    mkdir .ssh
    
  2. 创建authorized_keys文件

    如果已有则修改该文件(如果没有,vim会自动创建该文件)

    vim ~/.ssh/authorized_keys
    

    vim操作

    1. i进入编辑模式
    2. 修改完毕,按Esc,输入:wq保存并退出

    将刚才复制的公钥粘贴到这里(先按i进入编辑模式,右键Paste),按Esc,输入:wq保存退出

    也可以像我这样添加两台电脑的公钥

    添加公钥
    另外,如果是手动创建的.ssh目录和authorized_keys文件,需要将其权限分别修改为700和600,命令如下:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
③ 回到Windows检查是否成功

完成

完成!


<think>好的,我现在需要帮用户解决VSCode远程连接Linux失败的问题,给出步骤和配置教程。首先,我得回忆一下用户提供的引用内容,看看里面有哪些关键点。用户提到了三个引用,分别是关于配置Remote-SSH、解决重复输入密码的问题以及SSH配置文件的存放位置。 首先,我应该整理出连接的基本步骤。根据引用[1]和[2],用户需要安装Remote-SSH扩展,然后添加SSH连接,选择配置文件的位置。这里需要注意默认的配置文件路径是~/.ssh/config,用户可能需要正确填写主机名、用户和私钥路径。这部分如果有错误,比如主机名拼写错误或者密钥不对,就会导致连接失败。 接下来,用户可能会遇到连接失败的情况,比如重复输入密码。根据引用[3],解决方法包括删除.vscode-server文件夹、清理known_hosts中的对应条目,然后重新连接。这可能是因为旧的配置或缓存导致的问题,需要清除这些文件。 另外,SSH配置是否正确也很重要。比如确保Linux服务器上的SSH服务正在运行,端口开放,防火墙设置正确。用户可能没有启动sshd服务,或者防火墙阻止了22端口,这些都需要检查。 可能还需要考虑密钥认证的问题。如果用户使用密码连接不稳定,建议改用SSH密钥对,这样可以避免重复输入密码的问题。同时,权限问题也很关键,比如私钥文件的权限是否设置为600,.ssh目录的权限是否为700,这些细节容易出错。 最后,要确保用户按照步骤操作,比如安装扩展、正确配置SSH、处理连接失败的情况,以及检查服务器设置。如果用户还是无法连接,可能需要更详细的日志分析,比如查看VSCode的输出窗口或者服务器的auth.log文件。 总结一下,回答的结构应该是先给出连接步骤,然后详细说明每个步骤的具体操作,接着提供常见问题的解决方法,确保覆盖用户可能遇到的各种情况,比如配置错误、缓存问题、服务器设置等。同时,引用提供的资料来支持解决方案,让用户觉得可靠。</think>### VSCode远程连接Linux步骤及故障排查 #### 一、基础连接步骤 1. **安装Remote-SSH扩展** -VSCode扩展商店搜索安装`Remote - SSH` - 左侧工具栏将出现远程资源管理器图标(显示屏形状)[^1] 2. **配置SSH连接** - 点击SSH右侧的`+`号,输入命令格式:`ssh username@hostname -p port`(默认端口22可省略`-p`) - 选择SSH配置文件保存位置,建议使用默认路径`~/.ssh/config`[^2] 3. **首次连接配置** ```bash Host mylinux # 自定义别名 HostName 192.168.1.100 # 服务器IP User ubuntu # 登录用户名 IdentityFile ~/.ssh/id_rsa # 密钥路径(可选) ``` #### 二、连接失败解决方案 1. **清除缓存文件** - 删除本地用户目录下的`.vscode-server`文件夹 - 清理`~/.ssh/known_hosts`中对应服务器的记录[^3] 2. **检查SSH配置** - 确认服务器sshd服务已启动:`sudo systemctl status sshd` - 验证端口开放:`netstat -tuln | grep :22` - 检查防火墙规则:`sudo ufw allow 22/tcp` 3. **密钥认证问题处理** ```bash # 本地生成密钥对 ssh-keygen -t rsa # 上传公钥到服务器 ssh-copy-id -i ~/.ssh/id_rsa.pub user@host ``` - 需确保私钥文件权限为`600`,`.ssh`目录权限为`700` #### 三、高级调试方法 1. 在VSCode命令面板执行`Remote-SSH: Show Log`查看详细连接日志 2. 服务器端检查认证日志:`tail -f /var/log/auth.log` 3. 测试基础SSH连通性:`ssh -v user@host` 观察握手过程
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

insight^tkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值