01
前言
1.1 SSH
SSH
為 Secure Shell(中文名:安全外殼協議)的縮寫,由 IETF 的網路小組(Network Working Group)所制定;SSH 是建立在應用層基礎上的安全協議。
SSH
是較可靠的專為遠端登入會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠端管理過程中的資訊洩露問題,SSH 在正確使用時可彌補網路中的漏洞。
SSH
最初是UNIX系統上的一個程式,後來又迅速擴充套件到其他操作平臺;幾乎所有 UNIX 平臺(包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix以及其他平臺)都可執行 SSH。
1.2 SSH 組成
SSH 是由
客戶端 (Client)
和
服務端 (Server)
的軟體組成的。
服務端是一個守護程序,它在後臺執行並響應來自客戶端的連線請求。服務端一般是
sshd
程序,提供了對遠端連線登入的處理,一般包括:
公共金鑰認證
金鑰交換
對稱金鑰加密
非安全連線
客戶端包含
SSH
程式和
scp
(遠端複製)、
slogin
(遠端登入)、
sftp
(安全檔案傳輸)等其他應用程式。
1.3 SSH 工作機制
SSH
的工作機制大致是:
本地的客戶端(PC)傳送一個連線請求到遠端的服務端(樹莓派)
服務端(樹莓派)檢查申請的包和 IP 地址,再發送金鑰給 SSH 的客戶端(PC)
本地客戶端(PC)再將金鑰發回給服務端(樹莓派)
一旦建立一個安全傳輸層連線,客戶端就傳送一個服務請求。當用戶認證完成之後,會發送第二個服務請求。這樣就允許新定義的協議可以與上述協議共存。
SSH
服務啟動後,程序執行機制:
服務端
sshd
程序開始後臺執行,並在預設的埠進行監聽(
埠號:22
,埠號可以自己修改)
當客戶端需要連線服務端時,客戶端
ssh
程序傳送連線請求給服務端
當服務端
sshd
程序監聽到(收到)客戶端
ssh
程序相應的連線請求時,
sshd
程序會產生一個子程序進行這次的連線處理。
1.4 準備工作
(1)系統版本:
Ubuntu MATE 16.04.2
(2)硬體版本:
Raspberry Pi 3 Model B V1.2
Raspberry Pi 2015
(3)磁碟引數:Kingston
16GB
記憶體卡
(4)基礎外設:
可用的區域網
、鍵盤、滑鼠、螢幕、電源等
(5)遠端環境:Windows 10 專業版
(6)遠端軟體:MobaXterm( Home Edition V20。2 Portable )
相關係統映象和操作軟體可在我的雲盤中下載。
下載地址:
https://pan。baidu。com/s/1z3Qz_hUuMr155d-tvJPJLg
(提取碼:95wx)(雲盤收錄了以前的映象版本、迅雷下載連結和相關操作軟體)
映象下載及安裝教程:
樹莓派:Ubuntu MATE 16。04。2 下載及安裝教程
02
服務端開啟 SSH
服務端就是我們的樹莓派 3B,我們需要在服務端開啟
SSH
功能。樹莓派有專用的配置工具,開啟SSH非常簡單。(樹莓派 Ubuntu MATE 系統預設不開啟 SSH)
開啟
SSH
方法如下:
給客戶端和服務端連線同一區域網,確保服務端能正常聯網
開啟終端
Ctrl+Alt+T
,輸入
sudo raspi-config
,回車 > 輸入使用者密碼 > 回車
選擇
3 Interfacing Options
,回車
選擇
P2 SSH
,回車
選擇
Yes
,回車
等待一系列配置後,提示 The SSH server is enabled,選擇
Ok
返回終端,可以看到系統配置 SSH 的程序,我們需要確認一下 SSH 是否正常工作;
輸入
ps -e | grep ssh
查詢 SSH 程序(下圖表示
sshd
已經在正常運行了);
輸入
ifconfig
查詢服務端IP地址(我的服務端 IP 地址為:
192.168.1.103
);
不更改埠號的話,我們的服務端操作就完成了(預設 SSH 埠號:
22
)。
可在
/etc/ssh/sshd_config
中修改埠號,方法比較簡單,請自行百度。
03
客戶端遠端登入
客戶端就是我們的 Windows 10 專業版 PC,服務端已經配置完畢,我們現在只需在客戶端使用遠端終端軟體登陸就行了。
客戶端登入軟體使用的是
MobaXterm
,這個終端軟體功能強大:
支援 SSH、FTP、Serial、VNC 等多種功能
操作簡便(Putty 雖然小巧免費,但操作體驗很不友好智慧)
免費版就能支援很多收費軟體的功能。
客戶端登入方法:
開啟
MobaXterm
軟體,點選
Session
或
Ctrl + Shift + N
點選
SSH
,開啟 SSH 連線介面
輸入服務端地址、使用者名稱、埠後,點選
OK
;(我的服務端資訊分別是
192.168.1.103
,
brendon_tan
,
22
,客戶端地址是
192.168.1.189
)
連線成功後,輸入服務端的登入密碼
會提示是否儲存服務端的登入密碼
遠端登入連線成功後,就可以使用客戶端直接登入服務端了
再次登入時,可以直接透過左邊
Session
標籤欄直接雙擊登陸,非常方便
注意:關於客戶端和服務端的IP固定,有兩種方法:
固定客戶端和服務端的 IP,如果更換了區域網的網段後,可能會連不上網路
使用區域網裝置的 IP 與 MAC 地址繫結的功能,但只在這一區域網有效
一般裝置都是一個地方不動的,推薦使用這個方法。
04
結束
如有發現好用的終端軟體,可以在下方評論,分享給各位開發者。
本教程由 Brendon Tan 原創釋出,版權所有。該文件僅供個人學習交流使用,不得用於其他用途,禁止商用, 轉載或公開使用請聯絡作者授權。
此教程由本人獨立整理,如有不當之處,歡迎指正。
想了解更多精彩內容,快來關注BrendonTan