技(jì )術文(wén)檔 2021年6月14日
如今,SSH 已成為(wèi)訪問遠(yuǎn)程 Linux 服務(wù)器的默認方法。
SSH 代表 Secure Shell,它是一種強大、高效且流行的網絡協議,用(yòng)于以遠(yuǎn)程方式在兩台計算機之間建立通信。讓我們不要忘記其名(míng)稱的安(ān)全部分(fēn);SSH 加密所有(yǒu)流量以防止諸如劫持和竊聽等攻擊,同時提供不同的身份驗證方法和無數的配置選項。
在本初學(xué)者指南中(zhōng),您将了解:
在您看到任何配置過程之前,最好先了解一下 SSH 的絕對基本概念。
SSH 協議基于服務(wù)器-客戶端架構。“服務(wù)器”允許通過通信通道連接“客戶端”。該通道是加密的,交換是通過使用(yòng)公(gōng)共和私人 SSH 密鑰來管理(lǐ)的。
OpenSSH是最流行的開源工(gōng)具(jù)之一,它在 Linux、BSD 和 Windows 上提供 SSH 功能(néng)。
要成功設置 SSH,您需要:
區(qū)分(fēn)服務(wù)器和客戶端很(hěn)重要。您可(kě)能(néng)不希望您的個人計算機充當 SSH 服務(wù)器,除非您有(yǒu)充分(fēn)的理(lǐ)由希望其他(tā)人通過 SSH 連接到您的系統。
通常,您有(yǒu)一個專用(yòng)系統作(zuò)為(wèi)服務(wù)器。例如,運行 Ubuntu 服務(wù)器的Raspberry Pi。您可(kě)以在 Raspberry Pi 上啓用(yòng) SSH,以便您可(kě)以在終端中(zhōng)使用(yòng) SSH 從您的主個人計算機控制和管理(lǐ)設備。
有(yǒu)了這些信息,讓我們看看如何在 Ubuntu 上設置 SSH 服務(wù)器。
設置 SSH 并不複雜,隻需幾個步驟即可(kě)完成。
同樣,SSH 服務(wù)器安(ān)裝(zhuāng)應該在您想要充當服務(wù)器并且想要通過 SSH 遠(yuǎn)程連接到的系統上完成。
讓我們首先打開一個終端窗口來輸入必要的命令。
請記住在安(ān)裝(zhuāng)新(xīn)軟件包或軟件之前更新(xīn)您的 Ubuntu 系統,以确保您運行的是最新(xīn)版本。
sudo apt update && sudo apt upgrade
運行 SSH Server 所需的包由 OpenSSH 的 openssh-server 組件提供:
sudo apt install openssh-server
一旦包的下載和安(ān)裝(zhuāng)完成,SSH 服務(wù)應該已經在運行,但為(wèi)了确保我們将檢查它:
service ssh status
您也可(kě)以使用(yòng) systemd 命令:
sudo systemctl status ssh
您應該會看到類似這樣的内容,其中(zhōng)突出顯示了 Active 一詞。點擊q
返回命令提示符。
如果在您的情況下服務(wù)沒有(yǒu)運行,您将必須像這樣激活:
sudo systemctl enable --now ssh
Ubuntu 附帶了一個名(míng)為(wèi)UFW(UncomplicatedFirewall)的防火牆實用(yòng)程序,它是iptables 的一個接口,它反過來管理(lǐ)網絡規則。如果防火牆處于活動狀态,它可(kě)能(néng)會阻止連接到您的 SSH 服務(wù)器。
要配置 UFW 以允許所需的訪問,您需要運行以下命令:
sudo ufw allow ssh
可(kě)以檢查 UFW 的狀态 running sudo ufw status
。
此時我們的 SSH 服務(wù)器已經啓動并運行,隻是在等待來自客戶端的連接。
您的本地 Linux 系統應該已經安(ān)裝(zhuāng)了 SSH 客戶端。如果沒有(yǒu),您可(kě)以始終在 Ubuntu 上使用(yòng)以下命令安(ān)裝(zhuāng)它:
sudo apt install openssh-client
要連接到您的 Ubuntu 系統,您需要知道計算機的 IP 地址并使用(yòng)ssh
命令,如下所示:
ssh username@address
将用(yòng)戶名(míng)更改為(wèi)系統中(zhōng)的實際用(yòng)戶,将地址更改為(wèi) Ubuntu 機器的 IP 地址。
如果您不知道計算機的 IP 地址,您可(kě)以ip a
在服務(wù)器的終端中(zhōng)輸入并檢查輸出。你應該有(yǒu)這樣的事情:
從這裏可(kě)以看出,我的 IP 地址是192.168.1.111。讓我們嘗試使用(yòng)username@address格式進行連接。
ssh team@192.168.1.111
第一次連接到 SSH 服務(wù)器時,它會要求添加主機的權限。輸入yes
并點擊Enter繼續。
SSH 立即告訴您該主機已被永久添加,然後詢問分(fēn)配給用(yòng)戶名(míng)的密碼。輸入密碼并Enter再次點擊。
瞧!您将遠(yuǎn)程登錄到您的 Ubuntu 系統!
現在您可(kě)以像往常一樣在遠(yuǎn)程系統的終端中(zhōng)工(gōng)作(zuò)。
要關閉連接,您隻需要鍵入exit
它就會立即關閉它,而無需确認。
如果你想停止 SSH 服務(wù),你需要這個命令:
sudo systemctl stop ssh
這将停止服務(wù),直到您重新(xīn)啓動它或直到系統重新(xīn)啓動。要重新(xīn)啓動它,請鍵入:
sudo systemctl start ssh
現在,如果您想在系統引導期間禁止它啓動,請使用(yòng)以下命令:
sudo systemctl disable ssh
這不會阻止服務(wù)在當前會話期間運行,隻是在啓動期間加載。如果要讓它在系統引導期間再次啓動,請鍵入:
sudo systemctl enable ssh
該工(gōng)具(jù)ssh
包含在大多(duō)數 *nix 系統中(zhōng),從 Linux 到 macOS,但這些并不是唯一存在的選項,以下是一些可(kě)以從其他(tā)操作(zuò)系統使用(yòng)的客戶端: