Ubuntu配置
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远端服务器,但是还是每次登录,或者切换文件夹都需要输入密码,问题如下:
那么可能的原因有
- 内置terminal环境匹配
安装一些插件的时候默认修改了内置terminal的环境,如上,在进入远程电脑时,不小心选择了yes,导致后面内置环境问题,一直需要输入密码。
修改如下:
vim ~/.config/Code/User/settings.json
在setting.json
中,如下一句话删除就好:
"terminal.integrated.inheritEnv": false,
- sqltools
参考
同样是setting.json
中
"sqltools.autoConnectTo": "blah",