vscode远程开发,含ssh密钥配置(免密登录)、客户端多私钥配置。

本文详细介绍了在Windows 10环境下使用Visual Studio Code进行远程开发,涉及插件安装、配置SSH服务器,尤其是重点讲解了如何通过SSH密钥对实现免密登录,包括密钥生成、服务器端安装公钥以及客户端设置。

经过实践,对原文略作精简和批注,版权归原作者所有。

原文地址:https://blog.youkuaiyun.com/u010417914/article/details/96918562

--------------------------------------------------------------------------  正文分割线 ---------------------------------------------------------------------------------------

插件安装

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

Remote Development

在这里插入图片描述

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

配置服务器

找到配置文件

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

修改配置文件

在这里插入图片描述

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

连接服务器

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

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

配置密钥

简介

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

密钥生成

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

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

服务器上安装公钥

  • 进入生成的两个密钥路径
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ls  =>查看确保生成功authorized_keys

转载者注:若当前服务器已经配置过一对公钥与私钥,且现需实现额外的主机与当前服务器的免密登录(即同一服务器对应多台主机的远程免密登录),则推荐在新主机上生成新的公钥与私钥,并将新主机上的公钥复制并添加到authorized_keys文件中(另起一行即可)。

  • 为了确保连接成功,请保证以下文件权限正确:
sudo chmod 600 authorized_keys
sudo chmod 700 ~/.ssh

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

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

默认不需要修改配置

转载者注:我的配置文件中没有 ‘RSAAuthentication’ 这一项,不影响密钥配置。

vim编辑器修改完后,按esc键退出编辑模式,然后输入:wq保存并退出。

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

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

  • 重启SSH
sudo service sshd restart
  • 服务器私钥复制到客户端

因为生成的密钥是通过服务器Ubuntu生成的,因此需要把生成的私钥复制Windows 10上面。
在这里插入图片描述

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

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

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

转载者注:

如出现 “Could not establish connection to "your_server_ip_address"”请参照:

https://blog.youkuaiyun.com/qq_41854763/article/details/103317116

如需在客户端安装多个私钥(在一个客户端连接多个Linux服务器),可将私钥以不同的文件名保存到客户端,并在config文件中指定每个host的特定密钥文件,例:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 32
    HostName 172.xx.xx.xx
    User user_name1
	IdentityFile ~/.ssh/id_rsa_32
Host 33
    HostName 172.xx.xx.xx
    User user_name2
    IdentityFile ~/.ssh/id_rsa_33
Host 36
    HostName 172.xx.xx.xx
    User user_name3
    IdentityFile ~/.ssh/id_rsa_36

### 配置 VSCode 使用 SSH 实现远程服务器免密登录 #### 插件安装 为了支持通过 SSH 连接到远程服务器,需先在 Visual Studio Code 中安装 `Remote - SSH` 插件[^1]。 --- #### 客户端环境准备 确保本地已安装并配置SSH 工具。可以通过命令行测试是否可用: ```bash ssh -V ``` 如果未安装,则需要根据操作系统自行安装 OpenSSH 或其他兼容工具。 --- #### 生成 SSH 密钥对 在客户端上执行以下命令来生成 RSA 类型的 SSH 密钥对: ```bash ssh-keygen -t rsa ``` 按照提示操作,默认情况下会将私钥保存至 `~/.ssh/id_rsa`,并将公钥保存至 `~/.ssh/id_rsa.pub`[^2]。 随后打开公钥文件(Windows 用户可通过记事本或其他编辑器),将其内容复制备用。 --- #### 将公钥上传至远程服务器 登录目标远程服务器后,完成如下步骤: 1. **创建 `.ssh` 目录** 如果不存在该目录,请运行以下命令创建: ```bash mkdir ~/.ssh chmod 700 ~/.ssh ``` 2. **设置授权密钥文件** 编辑或创建名为 `authorized_keys` 的文件,并粘贴先前复制的公钥内容: ```bash vi ~/.ssh/authorized_keys ``` 粘贴完成后保存退出,并调整权限: ```bash chmod 600 ~/.ssh/authorized_keys ``` 此步可参考具体说明[^3][^4]。 --- #### 测试无密码连接 返回本地终端尝试重新连接服务器: ```bash ssh username@server_ip_address ``` 成功进入即表示无需再输入密码验证身份。 --- #### 配置 VSCode Remote-SSH 最后一步是在 VSCode 内部定义用于访问的目标主机信息。通常做法是修改位于用户主目录下的配置文件 `~/.ssh/config` 添加类似条目: ```plaintext Host myServerAlias HostName server_ip_address User your_username_on_server IdentityFile ~/.ssh/id_rsa ``` 之后启动 VSCode 并利用快捷键 Ctrl+Shift+P 调出命令面板选择 “Remote-SSH: Connect to Host...”,选取刚才设定好的别名即可建立链接。 --- #### 注意事项 整个过程中需要注意各环节的安全性保障措施以及可能遇到的各种错误排查方法;另外不同平台间可能存在细微差异处理方式也有所区别。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值