# SSH on VS Code 1.Download Visual Studio Code --- website: https://code.visualstudio.com/<br/> 2.Download Remote-SSH<br/> --- 下載擴充Remote-SSH<br/> ![{643A24E3-CF44-4BDA-9BF2-D7C9459747F8}](https://hackmd.io/_uploads/rJIRvKdTC.png) 3.Log In --- 出現遠端總管圖示,點擊 ![image](https://hackmd.io/_uploads/ByNSR-Uu0.png) 點擊齒輪,更新設定檔.ssh\config ![{4D000197-480E-475E-A99E-1A3992604B70}](https://hackmd.io/_uploads/BJqlRK_60.png) <br/> 設定SSH設定檔,Host自訂,Hostname為IP,User為帳號名稱 (詳細設定詢問網管)<br/> ![image](https://hackmd.io/_uploads/BygvhDbHJg.png)<br/> 設定完,點擊重新整理,點擊ssh的向下箭頭,可以看到設定的Hostname,點擊向右箭頭進行連線<br/> ![{B9ECB08D-246D-446E-B111-5393B79303D8}](https://hackmd.io/_uploads/HJEPkcdpA.png)<br/> 選linux之後<br/> ![{B8A539CB-2E16-402F-8FC5-AE480B52A9CC}](https://hackmd.io/_uploads/HJ5ICFdaA.png)<br/> ![{CBC407E2-26AC-4189-8D56-32B87B1A4613}](https://hackmd.io/_uploads/HyXu19_pA.png) 輸入密碼,進行連線<br/> ![{767F2596-B57B-4C14-8275-8A9BF6717A8B}](https://hackmd.io/_uploads/S1oWe5_aA.png) <br/> 允許<br/> ![{A20EB6A9-5342-422D-A954-B20CAF327D70}](https://hackmd.io/_uploads/HJRnkc_T0.png)<br/> 連線成功<br/> ![{3FF1D213-E02F-4BAF-85FB-FC79A60FE553}](https://hackmd.io/_uploads/r1iC19_aC.png)<br/> 4.Generate Keys --- (1) Press <win+R><br/> (2) Open cmd<br/> ![image](https://hackmd.io/_uploads/Sk8N95icT.png)<br/> (3) Generate keys:輸入`ssh-keygen -t rsa`,一直Enter<br/> ![{45E22F87-0004-4690-8FBB-C30209F38E69}](https://hackmd.io/_uploads/rkJDgcdaC.png) <br/> (4) 產生檔案如下<br/> ![{3AAA9978-7EEC-4F92-B168-64A8EFD73C2C}](https://hackmd.io/_uploads/H1_1ZcO60.png)<br/> 5.Log In without Password --- (1) 在工作站建立authorized_keys檔案<br/> Build directory .ssh: `mkdir .ssh`<br/> cd至.ssh: `cd .ssh`<br/> Build file authorized_keys: `touch authorized_keys`<br/> ![image](https://hackmd.io/_uploads/SyTnnFZhp.png) ![image](https://hackmd.io/_uploads/ry2-Xug2T.png)<br/> (2) 開啟資料夾,確定<br/> ![{A41E8879-4903-4A38-8A09-143EEBAA83D5}](https://hackmd.io/_uploads/ByiT-cdaC.png)<br/> ![{AA87932A-08C3-4827-9970-868739DBCA80}](https://hackmd.io/_uploads/HyafGqdTR.png)<br/> (3)複製在本機的public key<br/> ![{EDE2D725-C0E9-4EB6-B7AA-050225B89FBE}](https://hackmd.io/_uploads/rkFMZ9_60.png)<br/> (4)貼上至authorized_keys<br/> ![image](https://hackmd.io/_uploads/rJt8IunXC.png)<br/> (5) Modify config,新增Identityfile:private key的路徑;ForwardAgent:yes<br/> ![{4A4F05F5-36ED-413F-B65E-9B48DFB2BFDD}](https://hackmd.io/_uploads/B1gtB9dT0.png)<br/> <font color="#f00">**特別注意**:</font> 若其他使用者或資料夾的權限過大,系統可能因此判斷對應金鑰不安全,無法免密碼登入。<br/> 解決方法: 修改.ssh和authorized_keys的權限<br/> Modify permission: `chmod <user><group><other> <file or dicrectory>`<br/> Check permission: `ll -d <file or directory>`<br/> <font color="#f80">**照下圖輸入指令**:</font><br/> ![{FC7744F6-E25F-4935-952D-85C561C601E6}](https://hackmd.io/_uploads/SkpmNcupR.png) <br/> | Dec | Read | Write | Execute | Binary | | - | - | - | - | - | | 7 | v | v | v | 111 | | 6 | v | v | x | 110 | | 5 | v | x | v | 101 | | 4 | v | x | x | 100 | | 3 | x | v | v | 011 | | 2 | x | v | x | 010 | | 1 | x | x | v | 001 | | 0 | x | x | x | 000 | 6.X Server Setting --- (1) Download Xming<br/> 載點: https://sourceforge.net/projects/xming/<br/> ![image](https://hackmd.io/_uploads/Bk2Z00-h6.png) (2) Download Remote X11 (SSH for local; normal for workstation)<br/> ![image](https://hackmd.io/_uploads/S1zwEwr0A.png)<br/> (3) Modify config<br/> ![upload_bfc237b4c863422cfad0e2f5f8b89ce1](https://hackmd.io/_uploads/HJvju2cTC.png)<br/> (4) 開啟Xming<br/> 開啟後,一直Next就好<br/> ![image](https://hackmd.io/_uploads/r1gsT6T5TR.png)<br/> ![image](https://hackmd.io/_uploads/r1n2aRZ2T.png)<br/> 記得要勾選 No Access Control<br/> ![image](https://hackmd.io/_uploads/ry348iFHC.png)<br/> (5) 即可在vscode直接開啟nWave等tools的GUI<br/> 輸入: `nWave &` ![image](https://hackmd.io/_uploads/rJ8G6R-np.png)<br/> 7.Others Error --- 以下為問題和對應可能解決方法<br/> (1)can't display:<br/> 添加Display至本地環境變數,數值為localhost:0.0<br/> ![image](https://hackmd.io/_uploads/Byii1VBvC.png)<br/> ![image](https://hackmd.io/_uploads/H1UFkEBPA.png)<br/> (2)can't handshake:<br/> 修改Remote-X11(SSH)擴充設定<br/> ![image](https://hackmd.io/_uploads/Ske8wTt60.png)<br/> 使用者的改成trusted<br/> ![image](https://hackmd.io/_uploads/ByxJwTtTR.png)<br/> 遠端的將IP和Port資訊輸入至擴充設定<br/> ![image](https://hackmd.io/_uploads/HJTsL6KaC.png)<br/> 遠端的同樣也需要改成trusted<br/> ![image](https://hackmd.io/_uploads/r1zAIptTR.png)<br/> (3) nWave開啟後,視窗超出螢幕範圍,無法縮小 將其他分頁移至螢幕邊緣,進行分割畫面。 ![image](https://hackmd.io/_uploads/H19GGDSAA.png) 點選該X視窗,完成分割頁面 ![image](https://hackmd.io/_uploads/HJ_SzDBRR.png)