【完整过程】vscode连接远程Linux服务器及免密登陆

写在开头
做深度学习科研难免需要较大的算力,此时就需要在GPU服务器上运行自己的程序。之前,我通过scp命令把代码上传到服务器后,在终端ssh连接服务器,通过一系列的Linux命令进行数据集和模型的操作。其实cd ls这些命令都还很方便,但是当我需要查看或修改源码时,用vim编辑总是不能给我舒适的体验。甚至,服务器上的vim有时会出现排版或编写时bug(注:我不是说vim不方便,vim实际上是Linux系统强大的工具,而是最近我在服务器上遇到了vim的一些bug ~ 可以理解为我的求生欲哈哈哈)。
所以,为了更好的体验,这里记录一下vscode连接远程Linux服务器及免密登陆的基本操作。

步骤1:在本机生成公钥和私钥
在cmd中输入:

ssh-keygen -t rsa -C “your_email@xxx.com”

于是,在以下目录中能找到公私钥文件:
在这里插入图片描述
其中,id_rsa.pub是公钥,id_rsa是私钥。如果执行命令前,已经存在公私钥文件,则会重新生成后进行覆盖。

步骤2:在vscode安装Remote-SSH
进入vscode插件,搜索并安装即可:
在这里插入图片描述

步骤3:服务器端添加私钥到authorized_keys
将本机生成的rsa_id.pub公钥上传至服务器中,然后将其 追加(cat命令) 写入到~/.ssh目录下的authorized_keys文件中:

cat id_rsa.pub >> authorized_keys

在这里插入图片描述
为什么是追加写入?因为可能存在其他用户的公钥,千万别覆盖写入!
如果~/.ssh目录下没有authorized_keys文件,则需要我们手动创建一个:

touch authorized_keys

然后用cat命令写入将公钥写入文件。

步骤4:本机配置vscode文件
首先,进入vscode点击左侧的“远程资源管理器”,点击“+”:
在这里插入图片描述
然后,在界面上方输入你要连接的ssh命令(用户名 ip地址 端口号),示例如下:
在这里插入图片描述
选择ssh配置文件时,请选择.ssh/config这个文件,如图:
在这里插入图片描述
在这个文件中,存放着我们所配置过的所有远程连接信息:
在这里插入图片描述
当弹窗选择操作系统时,选择“Linux”即可。

步骤5:选择服务器文件夹开始使用

在这里插入图片描述

于是,就可以进行类似于Windows系统的可视化文件操作了。
在这里插入图片描述
实用功能!!!拖拽上传文件到服务器
将本机的文件,直接拖入vscode的目录栏中,即可实现文件的上传,无需繁琐的scp命令进行上传。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
但是,要从服务器下载文件到本机的话,暂不支持拖拽下载。但是,在文件上点击右键,然后点击下载,也能实现快捷的下载功能。

其他实用操作:文件的删除、移动、重命名
和本地电脑一样管理文件就OK了。
注意一点就是,尽量避免在vscode上进行大文件的文件操作,因为有可能会导致宕机。大文件还是在命令行中进行 rm cp 等操作较为稳妥。

权限问题!
如果服务器端和本机vscode都配置完成,但是仍然需要输入密码,就要考虑到服务器端权限的问题了,通常采用如下命令解决:

cd ~
chmod 700 .ssh
cd .ssh
chmod 644 authorized_keys 
chmod 644 id_rsa.pub
chmod 600 id_rsa

记住以下权限原则:

1)authorized_keys的权限必须是600或者644
2).ssh目录的权限必须是700
3)/home/user目录必须是755
  • 27
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
要实现vscode远程连接Linux免密登录,可以按照以下步骤进行操作: 1. 首先,在vscode中点击左侧的"远程资源管理器",然后点击"+"按钮。 2. 在弹出的界面上方输入你要连接的SSH命令,包括用户名、IP地址和端口号。选择SSH配置文件时,请选择.ssh/config文件。 3. 在.ssh/config文件中,存放着我们所配置过的所有远程连接信息。 4. 当弹窗选择操作系统时,选择"Linux"。 5. 接下来,你需要在本地生成SSH密钥对。可以使用以下命令生成密钥对: ``` ssh-keygen -t rsa ``` 这将生成一个公钥和私钥文件。 6. 将生成的公钥文件(通常是id_rsa.pub)复制到远程Linux服务器的~/.ssh/authorized_keys文件中。可以使用以下命令将公钥复制到服务器: ``` ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip_address ``` 其中,username是你的用户名,ip_address是远程Linux服务器的IP地址。 7. 完成上述步骤后,你就可以使用vscode远程连接Linux服务器了。在vscode远程资源管理器中选择你要连接服务器,点击连接即可。 通过以上步骤,你可以实现vscode远程连接Linux免密登录,方便进行编程学习和开发。\[1\] #### 引用[.reference_title] - *1* *3* [【完整过程vscode连接远程Linux服务器免密登陆](https://blog.csdn.net/qq_16763983/article/details/126254636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vscode远程免密连接Linux虚拟机,并配置C/C++运行环境](https://blog.csdn.net/m0_56779872/article/details/129380678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr.zwX

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

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

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

打赏作者

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

抵扣说明:

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

余额充值