Secure Shell(SSH)是用於客戶端和服務器之間安全連接的網絡協議。服務器與客戶端之間的每次交互均被加密。
本教程說明了如何在Ubuntu計算機上啟用SSH。
啟用SSH將允許您遠程連接到系統並執行管理任務。您還可以通過scp和sftp安全地傳輸文件。
在Ubuntu上啟用SSH
默認情況下,首次安裝Ubuntu時,不允許通過SSH進行遠程訪問。在Ubuntu上啟用SSH非常簡單。
以root 用戶或具有sudo特權的用戶執行以下步驟,以在Ubuntu系統上安裝並啟用SSH:
使用打開終端Ctrl+Alt+T並安裝openssh-server軟件包:
sudo apt update
sudo apt install openssh-server
出現提示時,輸入密碼,然后按Enter繼續安裝。
安裝完成后,SSH服務將自動啟動。您可以通過鍵入以下命令來驗證SSH是否正在運行:
sudo systemctl status ssh
輸出應告訴您該服務正在運行,並已啟用以在系統引導時啟動:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
...
按q返回到命令行提示符。
Ubuntu隨附了一個名為UFW的防火牆配置工具。如果在系統上啟用了防火牆,請確保打開SSH端口:
sudo ufw allow ssh
現在,您可以從任何遠程計算機通過SSH連接到Ubuntu系統。Linux和macOS系統默認安裝了SSH客戶端。要從Windows計算機連接,請使用SSH客戶端(例如PuTTY)。
連接到SSH服務器
要通過LAN連接到Ubuntu計算機,請調用ssh命令,然后輸入用戶名和IP地址,格式如下:
ssh username@ip_address
確保
username使用實際用戶名和ip_address安裝SSH的Ubuntu計算機的IP地址進行更改。
如果您不知道IP地址,則可以使用以下ip命令輕松找到它:
ip a

從輸出中可以看到,系統IP地址為10.0.2.15。
找到IP地址后,通過運行以下ssh命令登錄到遠程計算機:
ssh linuxize@10.0.2.15
首次連接時,您會看到如下消息:
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?
鍵入yes你會被提示輸入您的密碼。
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
linuxize@10.0.2.15's password:
輸入密碼后,將收到默認的Ubuntu消息:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
...
現在,您已登錄到Ubuntu計算機。
在NAT后連接到SSH
要通過Internet連接到您的家用Ubuntu計算機,您需要知道您的公共IP地址,並將路由器配置為接受端口22上的數據,並將其發送到運行SSH的Ubuntu系統。
要確定你想SSH到機器的公網IP地址,只需訪問以下網址:https://www.baidu.com/s?wd=ip。
在設置端口轉發時,每個路由器都有不同的方式來設置端口轉發。您應該查閱路由器文檔,以了解如何設置端口轉發。簡而言之,您需要輸入進行請求的端口號(默認SSH端口為22)和您先前ip a在運行SSH的計算機上找到的私有IP地址(使用命令)。
找到IP地址並配置路由器后,您可以通過輸入以下內容登錄:
ssh username@public_ip_address
如果要將計算機暴露在Internet上,則最好實施一些安全措施。最基本的方法是將路由器配置為在非標准端口上接受SSH流量,並將其轉發到運行SSH服務的計算機上的端口22。
您還可以設置基於SSH密鑰的身份驗證並連接到Ubuntu計算機,而無需輸入密碼。
在Ubuntu上禁用SSH
要在您的Ubuntu系統上禁用SSH服務器,只需運行以下命令即可停止SSH服務:
sudo systemctl disable --now ssh
稍后,要重新啟用它,請輸入:
sudo systemctl enable --now ssh
結論
我們已經向您展示了如何在Ubuntu 20.04上安裝和啟用SSH。現在,您可以登錄計算機並通過命令提示符執行日常sysadmin任務。
如果要管理多個系統,則可以通過在SSH配置文件中定義所有連接來簡化工作流程。更改默認的SSH端口,可以降低自動攻擊的風險,從而為您的系統增加一層額外的安全保護。
有關如何配置SSH服務器的更多信息,請閱讀Ubuntu的SSH / OpenSSH /配置指南和官方SSH手冊頁。
