需求
想要把在linux終端操作的習(xí)慣改到本機(jī)上來旷痕。理由如下:
- linux下的vim對于編程調(diào)試不是很方便碳锈;
- 編程與命令不能很好鏈接,經(jīng)常要多開幾個window或sessions欺抗;
- vim的自動補(bǔ)全不太好使(應(yīng)該是我沒修煉到家)售碳;
- xshell最近更新的版本導(dǎo)致了之前的習(xí)慣操作受到嚴(yán)重限制(如vim中滾動鼠標(biāo)往上翻到命令行,再復(fù)制文本到vim中〗食剩現(xiàn)在已經(jīng)往上翻不到命名行了贸人,很麻煩)。
通過vscode遠(yuǎn)程登錄linux服務(wù)器佃声,在本地編程艺智、調(diào)試,并與命令行結(jié)合圾亏,能夠部分解決以上問題十拣。
操作
-
在本機(jī)生成私鑰、公鑰(目的是為后續(xù)免密登錄)
win+r——cmd——ssh-keygen -t rsa
志鹃,一路回車:
image.png
默認(rèn)在C:\Users\yourname/.ssh/id_rsa
下生成公鑰和私鑰夭问。若要多臺服務(wù)器的秘鑰不同,則將id_rsa重命名一下曹铃。每臺服務(wù)器都生成獨(dú)立的秘鑰缰趋。 將公鑰拷貝到服務(wù)器
將公鑰id_rsa.pub
拷貝到linux服務(wù)器,在個人home目錄的.ssh目錄下:
cat id_rsa.pub >authorized_keys
保存退出陕见。若有多臺服務(wù)器秘血,每臺都如此操作。vscode配置
打開vscode评甜,按F1直撤,輸入ssh
然后選擇Remote-SSH:Connect to Host
,選擇Configure SSH Hosts
, 再選擇C:\Users\yourname\.ssh\config
蜕着,配置config文件:
Host server1_name
HostName xxx.xx.xx.xxx
User server_usrname
Port 22
IdentityFile "C:\Users\yourname\.ssh\server1_name_id_rsa"
ForwardAgent yes
Host server2-254
HostName xx.xxx.xxx.xx
User server_usrname
Port 10021
IdentityFile "C:\Users\yourname\.ssh\server2-254_id_rsa"
ForwardAgent yes
Host自定義谋竖, HostName為服務(wù)器IP地址(注意不是linux的hostname -I
)红柱,User服務(wù)器用戶名,Port 服務(wù)器端口蓖乘, IdentityFile私鑰路徑锤悄。
服務(wù)器IP和端口可以在xshell會話中查看,如我的:
config文件配置完成后嘉抒,ctrl+s保存零聚。
-
vscode連接
點擊vscode左側(cè)電腦圖標(biāo)晚唇,就會出來以上添加的遠(yuǎn)程服務(wù)器勋乾。再點擊服務(wù)器右邊+號連接,會彈出一個新的vscode窗口呐粘。
image.png
可以點details查看遠(yuǎn)程連接的情況岗宣,尤其是在報錯的情況下蚂会。連接成功,左下角綠色會顯示SSH連接耗式。當(dāng)前窗口則可使用linux命令行了胁住。
- vscode終端使用
在連接上遠(yuǎn)程服務(wù)器的窗口按ctrl+`,顯示出終端刊咳,正常使用命令行即可彪见。這時,編程調(diào)試與linux終端就完美結(jié)合了娱挨。
其他服務(wù)器同樣只需連接即可余指。本人已測試:本地搭建的服務(wù)器、阿里云等云服務(wù)器跷坝、以及需要VPN連接的服務(wù)器都可以通過上述方法正常訪問酵镜。
但是通過端口映射的服務(wù)器一直連接不上,貌似token存在問題探孝,暫時還沒有解決笋婿,有連上的朋友可交流告知。