远程remote 02——Vscode本地IDE访问远程服务器

Vscode本地IDE访问远程服务器

1- SSH无密码登录远端服务器

这里的设置方式和github上免密码上传文件是一个道理,处理方式也一样。

1. 自己电脑上生成SSH密钥和公钥

使用下面的ssh-keygen来生成RSA密钥和公钥。

# -t表示type,就是说要生成RSA加密的钥匙
ssh-keygen -t rsa

# 或者
# 默认的rsa长度2048,对安全要求高的用户,可以设置为4096
ssh-keygen -b 4096 -t rsa

输入后会出现密钥保存路径(不修改,enter通过),和密钥密码的设置。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/zzl/.ssh/id_rsa):     # 按Enter键,或者修改路径或名字
Enter passphrase (empty for no passphrase):   					  # 输入一个密码
Enter same passphrase again:   								  # 再次输入密码
Your identification has been saved in /home/zzl/.ssh/id_rsa.
Your public key has been saved in /home/zzl/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 zzl@zzl
The key's randomart image is:
+---[RSA 2048]----+
|           ..o..=|
|          .oo =oo|
|        .o . + E+|
|       . . o. ++B|
|      . S    +.X=|
|     .        X+=|
|      . o.o.o. +o|
|     .  . .=o=o *|
|      ..  o. o.++|
+----[SHA256]-----+

完成后,可以查看生成的文件。
默认的话,会在.ssh文件夹下生成两个文件

cd .ssh/
ls
# id_rsa  id_rsa.pub

如下图所示,这两个文件为SSH Key的公钥和密钥,保存在自己的电脑上
在这里插入图片描述

2. 将公钥上传到服务器

我们将公钥上传到远程服务器的电脑上,就可以进行无密码登录了。(SSH密钥就好比是你的身份证明

ssh-copy-id username@remote-server
# 比如: ssh-copy-id [email protected]

首次使用SSH key跳过,对于已经使用过ssh key,产生过其他的文件的,这里可以加上[-i name]选择制定文件的公钥上传到服务器。

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote-server
# 比如: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

以上输入后会出现

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:      # 这里需要输入一次远程服务器登陆的密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

然后公钥就会保存到远程服务器的.ssh文件夹下的authorized_keys文件中,由于会加密的文件,需要一开始,你自己设定的SSH秘钥的密码,才可以打开。

注意: 首次登录时候需要,输入一次SSH秘钥的密码。

2- Vscode

1. vscode

更新 当前 code_1.35.0-1559611369_amd64版本已经支持remote development 稳定功能,所以可以不需要安装以下的开发板,但是设置是一样的。
在这里插入图片描述

2. vscode-insider

因为我们要用的工具是微软最近推出的,所以暂时只能在开发版上安装此插件,后面一定会适配到稳定版本~敬请期待。。。
跳转下载链接: Visual Studio Code Insiders
这里详细说明ubuntu版本,其他版本方法一样。
在这里插入图片描述
安装vscode-insider

# cd到你下载的目录,然后安装
sudo dpkg -i code-insiders_1.35.0-1558675526_amd64.deb

3. settings

进入vscode后,安装以下插件Remote Development
在这里插入图片描述
首先这里会出现一个配置,configure选项,如果没有,点击图上的connections右边的小齿轮,进入配置文件。
在这里插入图片描述
如图所示,这里,我们选择第一个,将信息保存在home目录下的.ssh文件夹下。
在这里插入图片描述

`Host`名字可以随意命名
`Hostname`为你登录远端服务器的ip地址
`user`为登录的账号名

正常情况使用,ssh user@Hostname 登录远程服务器

如图所示,填写自己的数据:
在这里插入图片描述
如果需要添加连接端口的,如下:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host name                              # whatever you want
    HostName 10.xx.xx.xx               # ip address
    Port 5000						   # port number
    User user_name

上面的信息,在ssh中为:

ssh [email protected] -p 5000

通过右键CONNECTIONS下面的名字(图上设定的Host),可以连接到远程。
连接成功左下角会出现,你命名的远程电脑名字。
在这里插入图片描述
下图这样点击open folder可以看到出现远程服务器的文件夹,选择一个当做工作空间即可。
在这里插入图片描述

3- vscode每次登录都需要密码

虽然按照上面设置了公钥,并上传到remote远端服务器,但是还是每次登录,或者切换文件夹都需要输入密码,问题如下:
在这里插入图片描述
那么可能的原因有

  1. 内置terminal环境匹配
    在这里插入图片描述
    安装一些插件的时候默认修改了内置terminal的环境,如上,在进入远程电脑时,不小心选择了yes,导致后面内置环境问题,一直需要输入密码。
    修改如下:
    vim ~/.config/Code/User/settings.json
    setting.json中,如下一句话删除就好:
"terminal.integrated.inheritEnv": false,
  1. sqltools
    参考
    同样是setting.json
"sqltools.autoConnectTo": "blah",
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章