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