vscode远程免密连接服务器

本文介绍了如何在Windows上使用GitBash生成SSH密钥对,将公钥添加到Linux服务器的authorized_keys文件中以实现免密登录,以及如何配置VSCode的remoteSSH插件进行远程开发。通过修改文件权限和正确设置配置文件,成功实现了通过VSCode无密码连接到远程服务器进行调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.生成私钥和公钥

windows上在任意位置,右键Git Bash Here,输入以下命令

ssh-keygen -t rsa -C “your_email@xxx.com”
或者
ssh-keygen -t rsa -b 4096
或者
ssh-keygen -t rsa

其中passphrase是指该密钥的保护密码,可直接回车跳过

会在windows的用户目录下面生成两个文件,私钥: id_rsa,公钥: id_rsa.pub

2.将公钥放在服务器上

在linux的用户目录下,进入.ssh的文件夹内,若没有.ssh的文件夹,则新建一个,在.ssh的文件夹下新建一个authorized_keys的文件,将id_rsa.pub中的内容拷贝到authorized_keys中,并修改权限,我是直接用notepad++打开id_rsa.pub的文件,然后全选,复制,粘贴到authorized_keys的文件中的。

cd ~/.ssh
touch  authorized_keys
cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

3.打开vscode安装remote SSH插件,并配置config

 

 

 打开这个.ssh/config的配置文件并进行编辑

Host ptc_server                    #连接的名称,可随便命令,主要起显示的作用
    HostName 192.168.**.**         #服务器的ip地址,根据要连接的服务器的ip地址来填写
    User peng.sheng                #linux用户的账号
    Port 22                        #端口,默认是22,貌似填不填都可以
    IdentityFile "C:\Users\6639\.ssh\id_rsa"    #私钥在windows上的路径

每次更新该配置之后,可点击该符号,将config中的改动应用在vscode中。

4.开启连接

点击该箭头,即可开启远程连接

即可不用输密码,连接到远程服务器。ctrl+shift+p,然后选择Python: Select Interpreter,设置好python在服务器上的解释器的路径,就可以远程连接进行debug了。

若需要断开连接, 如下所示,

 点击关闭远程连接,即可恢复本地的代码编辑。

过程中遇到的问题:

我在开始配置的过程中,每次连接的时候,都需要输入服务器的用户密码,做不到免密连接,经过多次尝试,修改~/.ssh以及authorized_keys这两个文件夹的权限,

 .ssh的权限设置为700

 authorized_keys的权限设置为600

然后用notepad++手动将id_rsa.pub的内容,复制粘贴到authorized_keys中,而不是网上其他人用的cat id_rsa.pub >> authorized_keys的方法

我不确定这两点,是否有影响,反正最后,试了很多次,终于调通了,每次远程连接,不用输入密码了。

网上有人说需要改,/etc/ssh/sshd_config 或  ssh_config,我也改过,然后重启ssd的服务,貌似没有什么作用,最后所有的ssh_config的改动,全部还原了,我的经验,实现免密连接,感觉和这个ssh_config的配置关系不大。

选择conda的环境:

远程连接成功之后,按ctrl+shift+P,输入select interpreter,然后选择服务器上的conda环境。

### 配置 VSCode 使用 SSH 登录远程服务器 #### 安装 Remote-SSH 插件 为了使 Visual Studio Code (VSCode) 支持通过 SSH 进行登录,需先安装名为 "Remote - SSH" 的插件。此操作可通过访问 VSCode 内部的扩展市场完成,在搜索栏输入 "Remote - SSH" 并点击安装按钮来获取该工具[^3]。 #### 生成本地 SSH 钥对 在 Windows 上可以通过 Git Bash 或者其他支持 OpenSSH 工具集的应用程序终端来进行如下命令以创建新的 RSA 类型私钥与公钥组合: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述指令会提示指定保存位置,默认情况下建议接受;对于码短语部分,由于目标是实现完全无需人工干预的自动化过程,则应留空直接按回车键继续[^2]。 #### 将公钥复制至远程 Linux 主机 确保远程机器已开启并正确配置好 SSH 服务之后,可以采用 `ssh-copy-id` 方法把刚刚产生的 `.pub` 文件中的内容追加到对应用户的授权文件里去: ```bash ssh-copy-id user@remote_host_ip_address ``` 如果遇到权限不足等问题无法使用 `ssh-copy-id` ,则可手动编辑 `/home/user/.ssh/authorized_keys` 文件并将本地生成的公钥粘贴进去[^1]。 #### 测试连接有效性 此时应当能够在不被询问任何认证信息的前提下成功建立从本机向目标系统的 SSH 会话链接。尝试运行简单的命令验证连通性和安全性: ```bash ssh user@remote_host_ip_address hostname ``` 一旦确认无误后,回到 VSCode 中按照常规流程选择要打开的远端资源路径即可享受无缝集成开发体验了[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值