Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

最近幾天,因我一些客觀原因,我需要遠程訪問我的ubuntu18主機。(其實也不遠,只不過不是在一間屋子裡,並且不是同一樓層。但網絡上同屬一個局域網。)與是我打算在我的遠程ubuntu18電腦上開啟ssh訪問的服務。

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

SSH(遠程連接工具)連接原理:ssh服務是一個守護進程(demon),系統後臺監聽客戶端的連接,ssh服務端的進程名為sshd,負責實時監聽客戶端的請求(IP 22端口),包括公共秘鑰等交換等信息。

ssh服務端由2部分組成: openssh(提供ssh服務) openssl(提供加密的程序)

ssh的客戶端可以用 XSHELL,Securecrt, Mobaxterm,PuTTY等工具進行連接

1 SSH是啥

SSH是一種網絡協議,它是比較可靠,專為遠程登錄會話和其他網絡服務提供安全性協議

SSH是Secure Shell的縮寫,中文的意思就是:安全外殼協議。 由 IETF 的網絡小組(Network Working Group)所制定; SSH 為建立在應用層基礎上

的安全協議。

為什麼說它“比較可靠”呢?其實沒有絕對可靠,可靠性是“比較”出來的。與誰比呢,當然是與 ftp 、pop和 telnet 這些傳統的網絡服務程序相比的。這些在本質上都是不安全的,因為它們在網絡上用 明文 傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的 安全驗證 方式也是有其弱點的, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。

所謂“中間人”的攻擊方式, 就是“中間人”冒充真正的 服務器 接收你傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。“中間人”就是首鼠兩端的,兩頭欺騙的程序。

通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的 速度 。SSH有很多功能,它既可以代替 Telnet ,又可以為 FTP 、 PoP 、甚至為 PPP 提供一個安全的"通道"。

2 查看ubuntu18主機上安裝了哪些ssh服務

ComputerName:~$ ps -e | grep ssh

1647 ? 00:00:00 ssh-agent

這說明Ubuntu18默認是不會開啟ssh服務的。所以我們無法對Ubuntu進行遠程連接,這對Ubuntu的運維造成了很大不便。

可以看到,默認情況下只有ssh-agent,這個進程指的是ubuntu18的ssh服務的客戶端,是讓ubuntu18主機可以遠程連接訪問其它LINUX主機的。這個與我的要求不相符號,我需要的是其它電腦的SSH客戶端來訪問這臺ubuntu18主機。

(當然,如果ubuntu18沒有ssh客戶端程序ssh-agent的話,可以用“apt-get install openssh-client”來安裝。)

3 安裝ssh服務端程序

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

運行命令“apt-get install openssh-server”來安裝ssh服務端程序。

ComputerName:~$ ps -e | grep ssh

1647 ? 00:00:00 ssh-agent

4171 ? 00:00:00 sshd

安裝好了再查ssh進程,發現ssh服務的服務端進程sshd已經啟動。這是因為“apt-get install openssh-server”安裝命令在安裝之後,自動調用systemd啟動了SSH服務端程序,在ubuntu18系統中產生了這個服務進程。

4 關閉與開啟ssh服務

安裝之後ssh服務程序位於“/usr/bin/ssh”,sshd服務的腳本位於“etc/init.d”目錄下面。/etc/init.d裡的shell腳本能夠響應start,stop,restart,reload命令來管理。那麼,sshd的啟動或停止命令如下:

開啟ssh服務:service ssh start 或者 /etc/init.d/ssh start

 關閉ssh服務:service ssh stop 或者 /etc/init.d/ssh stop

5 查看ubunt18主機的IP地址

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

執行 ifconfig命令,收到Command 'ifconfig' not found, but can be installed with: sudo apt install net-tools"的提示,這說明ubuntu18在默認情況下,網絡工具程序也沒有安裝。好在執行"sudo apt install net-tools"就可以再次使用"ifconfig"命令了。

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

安裝好net-tools之後執行ifconfig

由上面可以看到,要遠程訪問的ubuntu18的主機是192.168.3.2。

6 用終端工具PuTTY或ssh,來登陸Ubuntu18主機

上面的步驟完成後,就可以用客戶端來訪問遠程的ubuntu18主機了。這裡以PuTTY訪問為例。

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

配置ubuntu18主機的IP地址和SSH端號

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

上面的PuTTY,運行在windows上面,只是一個示例。實際當中,我是用我的另一臺ubuntu18系統的電腦作客戶機,去遠程訪問我那臺放置在遠處的ubuntu18主機的。用ssh命令做終端工具,很容易做到。命令行是“ssh nvie-yeguoya @192.168.3.2”,然後輸入密碼就可以登陸ubuntu18遠程主機了。

Linux Shell學習筆記3-在Ubuntu18開啟ssh服務

我這裡SSH的操作,在同一個局域網內,但處於不同樓層之間。這雖不是真正意義上的遠程,但真正的遠程訪問ubuntu18主機,也是同樣的操作設置。


分享到:


相關文章: