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",