VSCODE Remote SSH 免密登录


VSCODE的Remote SSH用于远程开发特别方便,但是在只设置了密码登录的情况下,每次打开一个新的文件夹总是需要重复输入密码,特别烦人,我们可以通过配置公私钥登录可以解决这个问题。

连接

连接比较简单,现在拓展商店安装Remote-SSH。(以下操作均认为是在服务器开启了root ssh密码登录的情况)

接着在配置文件里添加你的主机

主机信息可以先按照 kali的配置填写, Host是这个主机的标签,这里随意起一个都行。HostName对应主机的IP, User就是你要登录的用户, IdentityFile先不填。

接着填写完了之后,在ssh的列表内就能看到新添加的主机,点击箭头连接,这时会要求输入密码,输对了就能连上,这时候通过密码完成了连接。

公钥配置

ctrl + shift + ` 打开终端, ssh-keygen -t rsa 一路回车

# 生成公私钥
┌──(root㉿kali)-[~/.ssh]
└─# ssh-keygen -t rsa    
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Na5dQso50778GdQFL24xm72W2FA/8fnefN3qR8TDBwY root@kali
The key's randomart image is:
+---[RSA 3072]----+
|            E..  |
|              oo |
|          +  .==o|
|       . B . o.@O|
|        S + o.*+*|
|         * + .+ *|
|        . o .. *+|
|         . . o.o*|
|          o.o.oo=|
+----[SHA256]-----+

# 把公钥复制到authorized_keys里
┌──(root㉿kali)-[~/.ssh]
└─# cat id_rsa.pub >> authorized_keys

再把私钥下载到本地(直接复制可能会有格式错误)
在这里插入图片描述
这里我保存为 local_kali,接着再把路径贴到vscode的ssh-config里
在这里插入图片描述
重新连接
在这里插入图片描述
这里连接之后尝试打开root文件夹也成功了,不用输入密码
在这里插入图片描述

如果没成功

如果还是遇到了需要输入密码的情况,可以在输入对话框按esc取消,然后到output里看连接日志。

密钥传输

  1. 私钥最好还是下载保存,复制的话可能会因为文件格式不对失败。
  2. 检查IdentityFile 有没有填对,注意/\
  3. 可以在连接的时候打开下方的output栏看看报错日志排查
    在这里插入图片描述

私钥文件权限

在这里插入图片描述
这提示需要我们修改文件的权限
使用 icacls 命令修改私钥文件的权限。用管理员身份打开powershell,输入以下命令:
icacls "{path-to-id-rsa}" /inheritance:r /grant:r "$($env:USERNAME):(R)"
这个命令做了两件事:
/inheritance:r 去除了文件的继承权限,这意味着它不会再继承上级目录的权限设置。
/grant:r “ ( ( (env:USERNAME):®” 为当前用户(你的登录用户)赋予了对文件的读取权限。
验证权限更改
再次运行 icacls 命令查看文件权限,确保设置正确:
icacls "{path-to-id-rsa}"
确保输出显示文件仅对当前用户可读。
重试连接
完成权限更改后,尝试重新连接 VSCode 的 SSH 远程。如果之前的问题确实是由于权限过松导致的,现在应该能够成功连接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值