SSH 密钥操作经历与 VSCode 远程连接“找不到ssh安装”解决
·
1. VSCode远程连接时提示“找不到ssh安装”
- 打开
设置——可选功能,添加OpenSSH客户端,安装的很慢,耐心等,或者手动下载(暂时不提) - 重启下电脑
2. 关于公钥与密钥
-
在GitHub,Gitee等平台进行ssh下载等操作需要添加ssh密钥,相当于输入个密码,跟本机保持配对
-
生成公钥
ssh-keygen -t ed25519 -C "Gitee SSH Key"-t:key类型-C:注释
-
生成公钥的同时也会生成密钥,也就是如下两个文件:
id_ed25519 ``id_ed25519.pub,前者是密钥,后者是公钥,位于C:\Users\用户名\.ssh -
查看公钥:用记事本打开,或者
cat ~/.ssh/id_ed25519.pub复制下来
-
在GitHub等平台的设置界面找到ssh密钥,添加公钥即可
3. 测试连接
ssh -T git@github.com
- 如果成功,将看到类似如下的欢迎信息:
Hi {YourUsername}! You've successfully authenticated, but GitHub does not provide shell access.
- 可能出现的问题
出现如下信息:
Bad permissions. Try removing permissions for user: BUILTIN\\Users (S-1-5-32-545) on file C:/Users/用户名/.ssh/config.
Bad owner or permissions on C:\\Users\\用户名/.ssh/config
这是因为.ssh/config或.ssh/id_ed25519权限太开放的原因
对这两个文件以及.ssh文件夹都进行如下操作:
- 右键——
属性——安全——高级 - 点击左下角
禁用继承——从此对象中删除所有已继承的权限——确定——是 - 此时组或用户名应该是空白的,点击
编辑——添加,输入你的用户名,点击检查名称——确定
4. 查看哪个密钥被使用
我不知道怎么弄的有多个密钥,想简化一下
-
法一:使用
-v参数查看详细连接过程ssh -Tv git@gitee.com查看日志中哪个密钥文件后面跟着密钥指纹(
SHA256开头的一串很长的哈希值) -
法二:制定密钥进行连接测试
ssh -T git@github.com -i ~/.ssh/你的私钥文件名看看哪个能成功就是哪个
没有用的公钥和密钥就可以删了。删错了问题也不大,重新创建公钥,然后在平台上绑定公钥就好了
5. 如果没有密钥
如果没有密钥的话,每次连接都要输入密码。我用VSCode连接项目组的服务器或者腾讯云服务器时用ssh连接,但是用的是需要输入密码来认证
更多推荐


所有评论(0)