【VSCode Remote-SSH使用密钥免密登录云服务器】

1.安装Remote-SSH插件

点击Extensions扩展(快捷键Ctrl+Shift+X),输入Remote。

点击Remote-SSH(微软官方认证标记),然后install。

点击Remote Explorer(微软官方认证标记),然后install。

点击Remote - SSH: Editing Configuration Files(微软官方认证标记),然后install。

也可以直接安装 “Remote Development” 扩展

在这里插入图片描述

2.安装Git

点击这里到Git官方https://git-scm.com/

https://git-scm.com/

下载Windows版本Git

下载Windows版本Git,然后安装,根据自己的需求选择即可(大部分默认即可)。

3.Git Bash生成密钥

3.1打开Git Bash

打开Git Bash

3.2输入生成密钥指令

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

或者

ssh-keygen -t ed25519 -C "your_email@example.com"

输入下面的命令

其中,your_email@example.com改为自己的邮箱。这个电子邮件地址不一定要与读者的实际电子邮件地址相同,通常填写一个能够识别读者身份的信息。

3.3输入生成密钥路径

Enter回车默认生成密钥在"/c/Users/user/.ssh/id_rsa"路径下。因为博主之前生成过密钥连接其他云服务器了,所以不能直接覆盖之前的密钥,这里重新起一个密钥名称id_rsa_mywebsite。如果读者之前没用生成过密钥可以直接回车默认即可。

输入密钥生成的地址

3.4是否输入密钥密码

即连接云服务器的时候,是否需要密码验证密钥,这里选择否(牢记初心),Enter回车即可。

默认回车

3.5还是默认回车

还是默认回车

3.6密钥生成成功

在这里插入图片描述

3.7查看生成的密钥文件

ls ~/.ssh

在密钥生成成功

  • id_rsa_mywebsite:这是私钥文件。它应该被妥善保存在本地机器上,不应共享或分发给其他人。私钥用于身份验证,证明读者密钥的合法拥有者。
  • id_rsa_mywebsite.pub:这是公钥文件。它可以安全地分发到需要连接的远程服务器上。远程服务器将公钥存储在authorized_keys文件中,用于在收到连接请求时验证读者的身份。

4.将公钥上传到云服务器

公钥文件是id_rsa_mywebsite.pub。读者需要将其内容复制到云服务器的~/.ssh/authorized_keys文件中。还是在Git Bash终端里面输入下面命令:

ssh-copy-id -i ~/.ssh/id_rsa_mywebsite.pub user@remote_host

其中,~/.ssh/id_rsa_mywebsite.pub是公钥所在路径和文件,user是登录云服务器的用户名,remote_host是云服务器的域名或者公网IP。

4.1输入云服务器的登陆密码,回车。

输入云服务器的登陆密码

4.2公钥上传和添加成功

在这里插入图片描述

4.3检查云服务器authorized_keys文件是否存在

使用PowerShell登录云服务器,输入下面命令

ssh user@remote_host

user改为自己的用户名,remote_host改为自己的域名或者公网IP

检查云服务器authorized_keys文件是否存在

可用看到在~/.ssh/目录下存在authorized_keys文件,即是公钥上传成功。

5.在VSCode中配置密钥登录信息

5.1VSCode中,点击Remote-Explorer

依次选择Remotes(Tunnel/SSH)->SSH
在这里插入图片描述

5.2输入配置密钥登录信息

点击小齿轮图标,然后选择第一个"C:\User\user\.ssh\config"。
点击齿轮图标

输入下面的配置内容
输入密钥登录配置文件

Host remote_server
  HostName remote_server
  User your_username
  # 如果远程服务器使用非标准 SSH 端口,可以在这里指定端口号
  Port 22
  # 指定用于连接到远程服务器的私钥文件路径
  IdentityFile ~/.ssh/id_rsa_mywebsite
  # Compression yes  # 启用 SSH 数据压缩,可以加快传输速度
  # ForwardX11 yes  # 启用 X11 转发,允许远程服务器显示图形界面
  # TCPKeepAlive yes  # 启用 TCP KeepAlive,保持 SSH 连接活动状态
  # ServerAliveInterval 60  # 设置客户端向服务器发送心跳包的时间间隔,单位为秒
  # ServerAliveCountMax 3  # 设置客户端发送心跳包的最大次数,超过次数后连接将断开
  # RemoteForward 52698 localhost:52698  # 设置远程端口转发,将远程服务器的端口52698转发到本地的52698端口

Host:主机标识符,可以起一个方便记录的名字。
HostName:云服务器的域名或者公网IP。
User:云服务器登录用户名。
Port:默认22端口。
IdentityFile:刚才生成的密钥文件路径。

6.连接到远程服务器

6.1刷新主机列表

输入完成后,点击刷新按钮。然后点击要登录服务器的箭头按钮连接云服务器即可。
在这里插入图片描述

6.2免密登录,连接成功。

免密登录,连接成功。

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VS Code 的 Remote SSH 插件可以让你通过 SSH 连接到远程服务器,并在 VS Code 中进行编辑、调试等操作。配置免密登录可以避免每次连接时都需要输入密码的繁琐操作。下面是配置 Remote SSH 免密登录的步骤: 1. 生成 SSH 密钥对 在本地终端中输入以下命令生成 SSH 密钥对: ```bash ssh-keygen ``` 按照提示输入文件名和密码(可以不设置密码),一路回车即可。生成的密钥文件位于 `~/.ssh/` 目录下。 2. 将公钥上传到远程服务器 将生成的公钥文件(默认为 `id_rsa.pub`)复制到远程服务器上,可以使用 `ssh-copy-id` 命令: ```bash ssh-copy-id username@remote_host ``` 这里的 `username` 是远程服务器的用户名,`remote_host` 是远程服务器的 IP 地址或域名。如果提示 `Permission denied`,可以手动将公钥内容添加到远程服务器的 `~/.ssh/authorized_keys` 文件中。 3. 配置 VS Code Remote SSH 在 VS Code 中安装 Remote SSH 插件,并在左侧的菜单栏中选择 Remote-SSH: Open Configuration File,选择 `config` 文件进行编辑。 在 `config` 文件中添加以下内容: ``` Host remote_host User username HostName remote_host IdentityFile ~/.ssh/id_rsa ``` 这里的 `remote_host` 和 `username` 分别对应远程服务器的 IP 地址或域名和用户名。`IdentityFile` 指定本地私钥文件的路径。 保存 `config` 文件后,在 VS Code 中选择 Remote-SSH: Connect to Host,选择刚才添加的 `remote_host` 即可连接到远程服务器。此时不需要输入密码,即可完成免密登录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ztiddler

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

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

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

打赏作者

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

抵扣说明:

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

余额充值