一、问题描述
使用vscode连接服务器的时候,每次连接登录都需要输入密码,就很烦,主要是密码一般也不简单,感觉耽误事。
二、解决方法
注:以下的本地服务器,可以用vscode的终端代替,是一样的,因为vscode要免密登录,本质上也是你的服务器需要获得你本地的密钥才可以。下面是vscode终端操作区。
准备工作
- 首先,我们可以在本地打开命令框:
Win+R
,输入cmd
- 创建文件:在你的用户名文件夹中找到.ssh文件下的config文件。
~/.ssh/config
如:我的是 并用记事本打开。 内容格式如下:
Host 你给服务器取的小名,以后登录就用这个名字
HostName 服务器的名字
User 登陆时的用户名
Port 端口号 (如果不写,默认为22)
例如,假如我以后启动服务器想叫他myserver,然后服务器名字是zxy.cn,登录用户名是user,端口是默认的22.那么我的配置文件应该如下。
- 确认远程服务器中
~/.ssh/
下面有一个文件为authorized_keys
,否则采用创建该文件夹。
touch authorized_keys
- 创建密匙:
ssh-keygen
执行结束后,
~/.ssh/
目录下会多两个文件:
id_rsa
:私钥id_rsa.pub
:公钥
2.1 方法一:配置文件后一行代码搞定(推荐)
一键添加公钥,完成。(#仅在Linux系统操作有效,若为Windows请参考下一方法)
ssh-copy-id myserver # 仅在Linux系统操作#这里的myserver,是我给服务器取的小名,也就是上面config文件第一行,Host接的东西。
之后,输入ssh 服务器小名即可免密登录
2.1 方法二:手动添加密匙
则将公钥(
id_rsa.pub
)中的内容,复制到
myserver
(你给服务器起的小名)中的
~/.ssh/authorized_keys
文件里即可。
如:
- 复制公钥内容:
- 粘贴至服务器的
~/.ssh/authorized_keys
文件中。
cd .ssh
vim authorized_keys
然后复制进来就ok啦。
三、效果
直接连接。
版权归原作者 湘粤Ian 所有, 如有侵权,请联系我们删除。