vscode远程开发及公钥配置(告别密码登录)


vscode远程开发及公钥配置

对于vscode近期升级的一大功能非常满意,通过Remote Development实现远程开发功能,而且使用体验非常好,美中不足是有小部分插件在服务器端支持得不是太好。在搭建过程中会对一些知识进行简单扩展,如不喜可以直接看操作。

简介

关于远程开发官网简介

在这里插入图片描述

看着这架构图都觉得很爽,有关更多内容请看官网教程Remote Development using SSH

关于SSH简介

由上面框架图可知远程开发是基于SSH协议进行,因此我觉得很有必要对SSH做些了解。
在这里插入图片描述

简介引用他人,详情SSH简介及两种远程登录的方法里面有更详细的说明

环境

  • Ubuntu 16.04.6 LTS ×64
  • SecureCRT或者putty工具
  • Windows 10企业版

本人的服务器是本地部署的一个Ubuntu服务器,通过Windows 10本地对服务器上代码进行远程开发。

插件安装

Windows 10下面的Vscode,打开插件标签栏输入插件名称

Remote Development

在这里插入图片描述

注意找到红框中显示插件进行安装,安装完后需要重新加载窗口才生效

配置服务器

找到配置文件

进入远程调试栏-》点击配置图标-》进入配置文件夹进行配置
在这里插入图片描述

修改配置文件

在这里插入图片描述

根据自己对应信息进行填写即可

连接服务器

选中对应服务器-》右击-》连接服务器
在这里插入图片描述

由于没有对公钥进行配置,这种登录方式需要密码进行登录

配置密钥

简介

通过SSH简介知道协议的加密是通过RSA非对称加密,因此会有公钥与私钥。密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。按照当前实际搭建情况如下图所示:
在这里插入图片描述

密钥生成

密钥的生成可以通过Windows 10生成,也可以通过Ubuntu服务器生成,只要遵循简介中的架构模式即可,这里介绍通过Ubuntu生成方式。

  1. 通过SecureCRT或者putty工具连接到Ubuntu服务器中
  2. 终端上输入以下指令建立密钥对
ssh-keygen
  1. 确定保存路径按Enter
Enter file in which to save the key (/home/andron/.ssh/id_rsa): 
  1. 输入密码,按Enter留空
Enter passphrase (empty for no passphrase):
  1. 再次输入密码,按Enter留空
Enter same passphrase again:
  1. 生成公钥与私钥
Your identification has been saved in /home/andron/.ssh/id_rsa.  =>私钥
Your public key has been saved in /home/andron/.ssh/id_rsa.pub.  =>公钥

服务器上安装公钥

  1. 进入生成的两个密钥路径
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ls  =>查看确保生成功authorized_keys
  1. 为了确保连接成功,请保证以下文件权限正确:
sudo chmod 600 authorized_keys
sudo chmod 700 ~/.ssh

查看或配置打开密钥登录功能

  1. 打开SSH配置文件
sudo vim /etc/ssh/sshd_config
  1. 查看确认下面两项配置
RSAAuthentication yes
PubkeyAuthentication yes

默认不需要修改配置

  • 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录
PasswordAuthentication no

修改这设置需用密钥登录成功后修改,是否禁止密码登录根据个人需要而定

  1. 重启SSH
sudo service sshd restart

服务器私钥复制到客户端

因为生成的密钥是通过服务器Ubuntu生成的,因此需要把生成的私钥复制Windows 10上面,从Ubuntu复制文件到window可以通过Samba方式或者WinSCP工具实现,Samba方式请参考《Ubuntu 安装Samba及配置》,本文简单介绍通过WinSCP实现文件拷贝。

  1. 登录服务器账号,除账号密码外其他默认配置即可
    在这里插入图片描述
  2. 点击是
    在这里插入图片描述
  3. 分别找到Ubuntu与window 10存放密钥配置的文件夹,如下图所示:
    在这里插入图片描述

可以看到都是存放在用户目录下面,需要注意是都是隐藏文件

  1. 重新打开vscode发现如此之爽,再也不需要再输命令

如果windows之前已经存在私钥和公钥,只需要把公钥安装到服务器上即可

  • 31
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
要在VSCode中实现远程登录密码,可以按照以下步骤进行操作: 1. 在本地生成密钥对:打开命令提示符(Win+R,输入cmd),输入命令`ssh-keygen -t rsa -C "随便输入什么都可以"`,按两次回车键,选择覆盖时输入`y`,然后连续按两次回车键,即可生成公钥和私钥。 2. 将公钥拷贝到服务器:打开VSCode软件,点击左侧的“Remote Explorer”,选择要连接的服务器IP,点击其后面的“打开”按钮。在弹出的页面中,输入服务器的密码进行登录。 3. 在VSCode中打开终端:点击VSCode顶部菜单栏的“终端(Terminal)”选项,选择“新建终端(New Terminal)”。 4. 将本地生成的公钥拷贝到服务器:在终端中输入以下命令,将公钥拷贝到服务器上: ``` ssh-copy-id 用户名@服务器IP ``` 其中,用户名是你在服务器上的用户名,服务器IP是你要连接的服务器的IP地址。执行命令后,会要求输入服务器密码,输入密码后,公钥将被拷贝到服务器的`~/.ssh/authorized_keys`文件中。 5. 完成以上步骤后,再次点击左侧的“Remote Explorer”,选择要连接的服务器IP,点击其后面的“打开”按钮。此时,应该可以直接连接到服务器,而无需再输入密码。 请注意,以上步骤是在Windows环境下使用VSCode进行远程登录密码的操作。如果你使用的是其他操作系统,请参考相应的文档或教程进行操作。引用\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [vscode 怎样免密登陆服务器](https://blog.csdn.net/weixin_41862755/article/details/122093462)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vscode连接服务器免密码登录](https://blog.csdn.net/qq_39683986/article/details/127221104)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

照君明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值