vscode+ssh免密登录总结(个人用)

基本步骤

1. 在本地生成公钥-私钥对

ssh-keygen -t rsa

2. 在服务器上添加本地公钥:

 echo "xxxx" >> ~/.ssh/authorized_keys

3. 更新vscode-ssh的config文件,如下所示:

Host xxxx.com
  HostName xxxx.com
  Port 17506
  User root
  PreferredAuthentications publickey
  IdentityFile "C:\Users\xxxx\.ssh\id_rsa"

下一次登录即可免密

遇到的报错

windows有时候会出现下面的报错:

[09:25:56.274] Running script with connection command: "C:\Windows\System32\OpenSSH\ssh.exe" -T -D 63864 "xxxx" bash
[09:25:56.276] Terminal shell path: C:\Windows\System32\cmd.exe
[09:25:57.510] > Load key "C:\\Users\\xxxx\\.ssh\\id_rsa": Permission denied
> root@xxxx: Permission denied (publickey,password).

 这是因为本地的.ssh权限设置有问题,按照下面修改即可:

(1)检查并修复私钥文件权限:

(%USERNAME%使用whoami查看替换)

# 在 PowerShell 中运行(以管理员身份)
icacls "C:\Users\xxxx\.ssh\id_rsa" /inheritance:r
icacls "C:\Users\xxxx\.ssh\id_rsa" /grant:r "%USERNAME%:R"

(2)正确设置 .ssh 目录权限:

icacls "C:\Users\xxxx\.ssh" /inheritance:r
icacls "C:\Users\xxxx\.ssh" /grant:r "%USERNAME%:F"

参考博客:

1. vscode通过ssh连接远程服务器+免密登录(图文)_vscode ssh-CSDN博客

2.VSCode Remote SSH 保存密码 自动登录_vscode ssh 记住密码-CSDN博客

### 配置 VSCode 使用 SSH 免密登录远程服务器 #### 安装 Remote-SSH 插件 为了使 Visual Studio Code (VSCode) 支持通过 SSH 协议连接至远程主机,需先安装名为 “Remote - SSH”的插件[^3]。 ```bash # 打开VSCode中的扩展市场搜索 "Remote - SSH" 并点击安装按钮完成安装过程。 ``` #### 生成本地 SSH 密钥对 在 Windows 上可以通过 Git Bash 或者其他支持 OpenSSH 的工具来创建一对新的 RSA 类型的 SSH 秘钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令将会提示指定保存位置,默认情况下可以直接按回车键接受建议路径;之后会询问是否要设置密码保护私钥文件,在这里留空即表示不需要输入任何字符以实现完全无交互式的自动认证方式[^2]。 #### 将公钥复制到目标 Linux 主机上 确保远程机器已开启并正确配置好 SSH 服务后,可以采用如下方法把刚刚产生的 `.pub` 文件里的内容追加进 `/home/user/.ssh/authorized_keys` 中去: 对于 Ubuntu 系统而言,可通过 `scp` 命令直接上传公钥: ```bash cat ~/.ssh/id_rsa.pub | ssh username@server_ip 'mkdir -p .ssh && cat >> .ssh/authorized_keys' ``` 上述操作相当于手动编辑并将本机生成好的 id_rsa.pub 添加到了服务器对应用户的 authorized_keys 文件里[^1]。 #### 修改权限与重启服务(仅限于首次配置) 为了让更改生效以及加强安全性考虑,应当调整相关目录及其内部资源访问控制列表ACLs,并重新启动 openssh-server 来应用这些改动: ```bash chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys sudo service ssh restart ``` 此时应该可以在不被要求提供账户口令的情况下成功建立从个人电脑向指定 VPS 发起的安全 shell session 了[^5]。 #### 测试连接稳定性 最后一步是在 VSCode 内部验证整个流程是否顺畅工作。打开命令面板 (`Ctrl+Shift+P`) 输入 Connect to Host... ,选择之前定义过的那台设备名称或 IP 地址进行尝试性接入测试[^4]。 如果一切顺利的话,则证明已经实现了预期效果——无需再次录入密码就能自由穿梭于开发环境之间!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值