前言
代码放在远程服务器上,用vscode ssh打开时每次都要登录、都要输入密码,有点烦。 这里设置将本地机器的公钥传输到服务器上,然后配置一下.ssh/config文件,就可以免密登录了。
1、生成本地秘钥文件
Note:已经生成过秘钥可以跳过这一步。 确认自己是否生成过可以打开git bash输入这个命令:ls ~/.ssh ,如果输出内容没有id_xx.pub等文件,甚至没有.ssh文件夹,那就是没有生成过。 参考我的秘钥长这样:
没有类似的文件,或者想重新生成,则打开git bash或者PowerShell,输入ssh-keygen -t rsa -b 2048生成秘钥文件(会让你确认存储位置、密码,全都直接回车就行):
$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx user@hostname
The key's random – art image is:
+ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
秘钥默认存储到~/.ssh/目录下,即C:\\Users\\xxxx\\.ssh下
秘钥文件生成参考
2、将公钥 传到远程服务器
选择用命令行传输或者手动复制,其中一种即可
2.1 命令行传输
- 生成秘钥后,应该会有一个id_ras和一个id_rsa.pub(或者类似的文件),用如下代码将公钥(.pub)添加到服务器上:# 格式为 ssh-copy-id -i 公钥文件位置 用户名@IP
ssh-copy-id -i ~/.ssh/id_rsa.pub root@90.90.90.90 - 然后输入密码。就传输到服务器上了。 成功类似如下
2.2 手动复制
- 先在本地机器上使用文本编辑器打开公钥文件(C:\\Users\\xxxx.ssh\\id_rsa.pub)(或者直接在git bash里输入cat ~/.ssh/id_rsa.pub),复制其中的内容。
- 然后通过SSH连接到远程服务器(临时使用密码连接这一次),登录后,打开你自己用户的~/.ssh/authorized_keys文件(如果不存在则创建一个),另起一行,将复制的公钥内容添加到这个文件中。
3、配置VS Code使用秘钥认证
在VS Code的SSH配置(通常是~/.ssh/config文件)中,添加如下配置:
Host 名字(可以设置为服务器IP)
HostName 服务器IP
User 你的用户名
IdentityFile "你的私钥的位置,不带'.pub'的"
Host 90.90.90.90
HostName 90.90.90.90
User root
IdentityFile "~/.ssh/id_rsa"
本人的配置是 OK,这样就可以快速登录了!开始敲代码吧! 如果连接不上报错 xx UNKNOWN,关闭vscode重新打开就行了。
标签:# VSCode免密登录服务器
评论前必须登录!
注册