遠程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",
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章