0. 題外話 最近好多文章被一些網站盜取, 比如這篇文章剛發佈就被爬走: https://www.icode9.com/content-3-1432259.html, 在這個網站一搜索, 好家伙, 好幾篇都被盜了, 比如: https://www.icode9.com/content-4-14228 ...
0. 題外話
最近好多文章被一些網站盜取, 比如這篇文章剛發佈就被爬走: https://www.icode9.com/content-3-1432259.html, 在這個網站一搜索, 好家伙, 好幾篇都被盜了, 比如:
https://www.icode9.com/content-4-1422878.html
https://www.icode9.com/content-4-1406300.html
https://www.icode9.com/content-4-1406218.html
https://www.icode9.com/content-4-1397461.html
全是我的文章, 發了郵件要求他們刪除, 等待我的後續吧.
所以下次寫博客一定要時時刻刻標上自己的地址:
https://www.cnblogs.com/setdong/p/16578484.html, 並且希望博客園能添加反爬機制, 否則再這樣下去, 我只能轉戰其他平臺了.
1. Putty
1.1 連接伺服器
- 下載 Putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- 打開 Putty
- 在 "Host Name" 下輸入地址, 格式為
<username>@xxx.xxx.xxx
- 點擊
Open
- 第一次連接時可能會詢問是否信任連接, 選 yes
- 終端打開後, 會提示你輸入密碼. 輸入時無法看到內容, 確認無誤後按下回車即可.
1.2 免密碼連接伺服器
-
打開剛剛下載的 Putty package 中的 puttygen
-
點擊 "Actions" 下的
Generate
button. 隨意的移動滑鼠指針來生成 key. -
保存 "ssh-rsa xxxxxx" 一長串的字元串 (public key), 後續會用到.
-
點擊
Save private key
button, 輸入文件名. -
退出 puttygen
-
打開 putty
-
go to "Connection->SSH->Auth", 點擊
Browse
button, 找到第4步存的private key. -
返回 "Session", 在 "Host Name" 下輸入地址
-
在 "Saved Sessions" 下輸入一個名字(比如: server001), 點擊
save
-
點擊
open
-
終端打開, 提示輸入密碼
-
輸入命令:
ssh-keygen -b 2048 -t rsa
, 詢問地址時直接按回車, 詢問密碼時也直接按回車 -
輸入命令:
echo "" >> ~/.ssh/authorized_keys
echo "ssh-rsa blablabla" >> ~/.ssh/authorized_keys
替換第3步保存的"ssh-rsa xxxxxx" public key. -
重啟 putty, 在 "Saved Sessions" 下選擇 server001, 點擊
Load
, 點擊Open
.
2. MobaXterm
相比於 Putty, MobaXterm 提供了更友好方便的界面.
2.1 連接伺服器
-
如果你已經用Putty連接過伺服器, 此時 MobaXterm左側會自動生成一個 "PuTTY sessions" 和 "server001", 此時點擊它並輸入密碼即可;
否則, 創建一個session, 點擊左上角的 "Session", 選擇"SSH", 在 "Remote host" 中輸入地址<username>@xxx.xxx.xxx
, 點擊 OK button. -
成功登陸後會提示是否保存密碼, 免去了上述 1.2 中繁瑣的免密碼操作, 十分便捷.
2.2 更改終端打開時的預設路徑
每次成功連接伺服器後, 此時終端的當前路徑往往不是你想使用的, 每次都需要 cd
到自己的文件夾下很麻煩, 可以修改預設路徑來解決這個問題:
- 連接伺服器, 在終端中輸入
vim ~/.bash_profile
打開configuration file - 在這個文件中添加一條
cd
命令, 後接你的項目文件夾路徑
- 按 Esc, 輸入
:wq
退出 vim
- 再次運行 .bash_profile 文件:
source ~/.bash_profile
- 重啟終端, 輸入
pwd
檢查你的當前路徑.
3. VS Code
VS Code 連接遠程伺服器後, 可以直接在 VS Code 上修改和運行代碼, 很方便, 接下來介紹如何使用VS Code連接伺服器和如何免密碼連接.
3.1 連接伺服器
- 點擊左側邊欄內的 "Extensions" (or 按下快捷鍵 "Ctrl+Shift+X") , 輸入搜索"Remote Development", 點擊 "install" button 進行安裝.
圖1
- 成功安裝後, 左側邊欄會多出一個 "Remote Explorer" 圖標, 點擊齒輪圖案的 Config button
- 選擇第一個文件, 填寫你的伺服器信息:
這裡的 HostName 就是前面 1.1 節第3步中的 Host Name<username>@xxx.xxx.xxx
中 @ 符號後的內容(xxx.xxx.xxx), User 就是 @ 符號前的內容( <username> ). - 保存配置文件, 此時左側會出現剛剛創建的機器, 如上面的圖1中的 "compute_Canada".
- 更改設置, 依次選擇 "File->Preferences->Settings->Extension->Remote-SSH", 搜索找到 "Show Login Terminal" 並勾選.
- 點擊 "compute_Canada" 右側的 Connect button
- 選擇你的伺服器平臺類型"Linux/ Windows/macOS"
- 輸入密碼
- 連接成功後, 點擊右側的
+
button 打開一個新的終端視窗.
- 在左側可以打開伺服器的文件夾, 依次選擇你的文件路徑, 點擊 ok
- 此時在終端中輸入
pwd
, 可以看到當前路徑已經定位到了剛剛打開的文件夾處. 返回剛剛進行連接伺服器的視窗, 在 "compute_Canada" 下給出了剛剛打開的文件夾, 下次可以直接點擊這個文件夾進行連接, 這樣就省去了 2.2 小節中更改預設路徑的操作.
3.2 免密碼連接伺服器
每次連接都需要輸入密碼很麻煩, 接下來介紹如何免密碼連接:
-
在自己的電腦上打開 cmd
-
輸入命令
ssh-keygen -t rsa -C "<username>@xxx.xxx.xxx"
引號部分是你的地址, 回車 -
此時會依次詢問你: 1) 將 key 保存在什麼目錄? 直接回車, 保存於它提供的預設路徑(C:\Users\xxx/.ssh/id_rsa); 2) 如果已存在這個文件, 會詢問是否 overwrite? 輸入y, 進行覆蓋; 3) 請求輸入密碼, 直接回車, 空密碼(兩次).
-
終端顯示你的 identification 和 public key 已保存在 C:\Users\xxx/.ssh處, 進入這個文件夾可以看到有兩個新增的文件 id_rsa 和 id_rsa.pub:
-
打開伺服器的終端, 輸入
ssh-keygen -b 2048 -t rsa
(與1.2節第12步一樣), 詢問地址時直接按回車, 詢問密碼時也直接按回車, 若詢問是否 overwrite 輸入 y. 終端顯示你的 identification 和 public key 已保存在 xxx/xxx/.ssh處 -
使用
cd
命令切換到這個文件夾, 這個文件夾中有三個文件:authorized_keys
id_rsa
id_rsa.pub
-
在你的電腦上, 打開你剛剛在第4步中創建的 id_rsa.pub 文件(即圖中標為 public key 的文件), 複製文件中的內容("ssh-rsa xxxxxx" 形式的一長串字元串)
-
在伺服器的終端上輸入命令
vim authorized_keys
, 將第7步複製的內容粘貼到authorized_keys
文件中, 檢查無誤後按Esc
, 輸入:wq
退出 vim. -
回到你的vs code, 在 3.1 節 第3步提到的 config 文件中添加
IdentityFile "C:\Users\xxx\.ssh\id_rsa"
, 即上述第4步提到的private key文件, 然後進行保存.
-
重啟vs code, 重新連接伺服器, 可以發現無需密碼即可連接成功.