windows vscode配置remote插件ssh遠程鏈接linux編輯文件

做者 : Jeannnettehtml

引言: 首先在平常使用Linux中,確定遇到不少須要遠程編輯linux上面的文件的場景,雖然能夠很方便的使用svn服務器/git服務器之類,可是爲了有時候更便捷的使用,我仍是想直接使用vscode進行編輯文件linux

Let's Go, Get it !git

完成後圖以下: (能夠在線編輯)遠程Linux系統文件, 很是適合須要及時更改遠程服務器shell

基礎配置

步驟以下windows

  1. 安裝,OpenSSH,建議去官網安裝 我提供以下路徑:
第一個 (官網):http://www.openssh.com/portable.html#http
第二個(其它): https://openssh.en.softonic.com/
複製代碼
  1. 當安裝完成後-若是是win10須要把當前安裝目錄添加至系統環境變量
1. 找到你安裝的目錄 \bin 目錄
2. 例如: F:\DEVLOP\openSSH\bin
3. 將\bin目錄添加到環境變量
4. 個人電腦右擊屬性 - 高級系統設置 - 高級 - 環境變量 
複製代碼

  1. 安裝vscode須要的插件,大概須要添加一下這些內容

  1. 安裝完成以後會發現vscode裏面會多出一個小圖標

  1. 點擊其中的設置圖標,進入到配置文件,默認配置文件會安裝在windows系統生成祕鑰的地方 %USERPROFILE%\.ssh\

HostName : linux服務器 ip 地址安全

User: 用戶名bash

IdentityFile: ~/.ssh/id_rsa-remote-ssh #服務器

這個講是第二種配置方式須要添加的,若是使用第一種方式不須要添加這個指定的文件ssh

  1. 添加以後當打開powershell管理員 模式下 進行生成公鑰與私鑰

第一種實現方式:

  1. 配置SSH密鑰svn

    檢查本地計算機上是否已有SSH密鑰(非對稱加密)。window公鑰一般位於路徑: %USERPROFILE%\.ssh\ ,若是沒有發現id_rsa.pub 文件, 表明本地沒有生成過SSH祕鑰,使用如下命令:

    ssh-keygen -t rsa -b 4096
    # 只須要一直回車就能生成到 %USERPROFILE%\.ssh\ 目錄下
    複製代碼
  2. 在Windows上,在本地命令提示符中運行如下命令,替換REMOTEHOST的兩個值[your-user-name-on-host]和[host-fqdn-or-ip-goes-here]

    SET REMOTEHOST=[your-user-name-on-host]@[host-fqdn-or-ip-goes-here]
    
    scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
    ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
    
    # PS: 
    # your-user-name-on-host: 你的主機用戶名
    # host-fqdn-or-ip-goes-here:你的主機ip
    
    複製代碼

    若是以上命令出現問題,那麼直接手動把目錄 %USERPROFILE%\.ssh\id_rsa.pub的 公鑰內容 複製到 linux下 /[用戶名]/.ssh/authorized_keys 文件裏面進行保存

第二種實現方式:比上一中安全安全的方式

雖然在全部SSH主機上使用單個SSH密鑰能夠很方便,但若是有人能夠訪問您的私鑰,他們也能夠訪問全部主機。您能夠經過爲開發主機建立單獨的SSH密鑰來防止這種狀況。只需按如下步驟操做

  1. 在另外一個文件中生成單獨的SSH密鑰。

    ssh-keygen -t rsa -b 4096 -f %USERPROFILE%\.ssh\id_rsa-remote-ssh
    複製代碼
  2. 在VS Code中,運行Remote-SSH:打開配置文件...在命令選項板(F1)中,選擇SSH配置文件,而後添加(或修改)主機條目,以下所示:(其實這個就是一個配置文件, 在基礎配置中的方式打開同樣的)

    Host name-of-ssh-host-here
        User your-user-name-on-host
        HostName host-fqdn-or-ip-goes-here
        IdentityFile ~/.ssh/id_rsa-remote-ssh   
    複製代碼
    1. 在Windows上,在本地命令提示符中運行如下命令,替換name-of-ssh-host-here爲步驟2中SSH配置文件中的主機名。
    SET REMOTEHOST=name-of-ssh-host-here
    SET PATHOFIDENTITYFILE=%USERPROFILE%\.ssh\id_rsa-remote-ssh.pub
    
    scp %PATHOFIDENTITYFILE% %REMOTEHOST%:~/tmp.pub
    ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
    複製代碼

檢查是否鏈接成功

而後就能添加小目錄到指定 linux 下的文件,而且經過ssh鏈接,進行在線的編輯代碼或者是文檔了

其餘報錯狀況

error: An SSH installation couldn't be found

這個報錯一般是由於,vscode沒有指定好相應的路徑好, 須要到Settings --> Remote.SSH.Path 進行指定OpenSSH的路徑

相關文章
相關標籤/搜索