遠(yuǎn)程SSH連接服務(wù)與基本排錯經(jīng)驗總結(jié)
為什么要遠(yuǎn)程連接Linux系統(tǒng)??
在實際的工作場景中,虛擬機(jī)界面或物理服務(wù)器本地的窗口都是很少能夠接觸到的,因為服務(wù)器裝完系統(tǒng)后,都要拉到IDC機(jī)房托管,如果是購買了云主機(jī),更碰不到服務(wù)器本地顯示器了,此時,只能通過遠(yuǎn)程連接的方式管理Linux系統(tǒng)。因此,在裝好linux系統(tǒng)后,學(xué)習(xí)Linux運(yùn)維的第一步應(yīng)該是配置好客戶端軟件遠(yuǎn)程(通過ssh軟件進(jìn)行連接)連接Linux系統(tǒng)進(jìn)行管理
telnet連接服務(wù)器是明文的,非加密的; 默認(rèn)為23端口
SSH連接服務(wù)器是加密的連接; 默認(rèn)為22端口
ssh連接示意
服務(wù)器端===>通過ssh協(xié)議提供===>守護(hù)進(jìn)程sshd22端口(不斷的是否有人需要服務(wù))
客戶端(客戶):ssh協(xié)議,ip地址,端口號(需要什么服務(wù)),用戶名,密碼
如何查看Linux系統(tǒng)的IP地址??
如圖所示,我的Linux系統(tǒng)IP為192.168.179.133。
可以通過這兩個命令來查看IP地址
ip地址/24:代表子網(wǎng)掩碼255.255.255.0
lo:回環(huán)網(wǎng)卡:用于檢測設(shè)備自測
eth0:你的第一塊網(wǎng)卡
eth1:你的第二塊網(wǎng)卡
ifup 網(wǎng)卡名與ifconfig 網(wǎng)絡(luò)名 up的區(qū)別
假如你發(fā)現(xiàn)你的虛擬機(jī)沒有IP地址的話,那么也許你的網(wǎng)卡設(shè)備處于關(guān)閉狀態(tài)
方法一:ifup + 網(wǎng)卡名(ethx) 可以開啟設(shè)備
方法二:ifconfig +網(wǎng)卡名(ethx)+ up 也可以開啟設(shè)備
討論
既然這兩個命令都能開啟成功,那么它們到底有沒有區(qū)別呢?請跟隨我來做個實驗。
第一步:我們刪掉eth1網(wǎng)卡的配置文件
/etc/sysconfig/network-scripts/:這個路徑是網(wǎng)卡配置文件的路徑,作為運(yùn)維人員我們是必須熟記得
第二步,我們關(guān)閉eth1這個網(wǎng)卡設(shè)備
第三步,我們嘗試開啟這個設(shè)備
繼續(xù)討論
為什么我們的試驗結(jié)果是這樣的呢?當(dāng)我刪除了eth1這個網(wǎng)卡的配置文件,ifup這個命令就失靈了?
•這是因為,ifup/ifdown這個命令控制的實際上并不是物理網(wǎng)卡的開啟和關(guān)閉,而實際上他控制的僅僅是網(wǎng)卡的配置文件而已,它是通過網(wǎng)卡配置文件間接的操作網(wǎng)卡設(shè)備。
•而ifconfig xxxx up/down:則是控制物理網(wǎng)卡設(shè)備的開啟和關(guān)閉,因此并不受配置文件的干擾。
CRT遠(yuǎn)程連接的基本原理
•我們在前幾節(jié)中提到過,sshd這個服務(wù),實際上是服務(wù)器的一個守護(hù)進(jìn)程。
•正是因為存在這個守護(hù)進(jìn)程,因此服務(wù)器的22端口才會持續(xù)不斷的被(監(jiān)視)
•當(dāng)CRT通過ssh協(xié)議訪問服務(wù)器的22端口的時候,服務(wù)器的sshd服務(wù)才會馬上回應(yīng)這個訪問,因此才能進(jìn)行遠(yuǎn)程連接
•故,當(dāng)服務(wù)器不存在sshd(把進(jìn)程kill掉)這個服務(wù)時,xshell是無法通過ssh協(xié)議進(jìn)行遠(yuǎn)程訪問的。
當(dāng)我遠(yuǎn)程用CRT執(zhí)行命令kill 1486進(jìn)程后,只剩下當(dāng)前CRT連接Linux的sshd進(jìn)程(Pid=19130)。即 我若想在CRT再開一個會話連接Linux,是絕對連不上的。
如果服務(wù)器端sshd服務(wù)被未運(yùn)行,那么所有通過ssh協(xié)議的訪問都將失?。ò瑇shell,CRT)
當(dāng)sshd這個服務(wù)的不再是22端口時(通過配置文件可以改),CRT必須切換到它的端口進(jìn)行訪問才能正確連接。
總結(jié):
ifconfig + 網(wǎng)卡名:可以查看開啟狀態(tài)的網(wǎng)卡的IP地址(看不到關(guān)閉狀態(tài)的網(wǎng)卡設(shè)備)
ip a:可以查看所有網(wǎng)卡的IP地址(還能看到關(guān)閉狀態(tài)的網(wǎng)卡)
ip link:可以查看所有網(wǎng)卡的物理狀態(tài)
ifup/ifdown + 網(wǎng)卡名:通過網(wǎng)卡配置文件來開啟和關(guān)閉網(wǎng)卡設(shè)備
ifconfig 網(wǎng)卡名 up/down:直接關(guān)閉和開啟網(wǎng)卡設(shè)備。
通過kill + Pid號 或者pkill + 服務(wù)名稱 來殺掉進(jìn)程
sshd服務(wù)的配置文件路徑:/etc/ssh/sshd_config
網(wǎng)卡的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-網(wǎng)卡名
netstat -antup或ps -ef :可以用來查看當(dāng)前服務(wù)器開啟的所有服務(wù)
故障排查(通過ssh工具無法連接Linux主機(jī))
1、兩個機(jī)器之間物理網(wǎng)絡(luò)是否通暢(網(wǎng)線網(wǎng)卡,IP是否正確)
ping 192.168.xx.xx ====>在當(dāng)前的CRT或xshell下ping Linux系統(tǒng),看物理網(wǎng)絡(luò)是否通暢
2、防火墻或selinux是否處于開啟狀態(tài)
命令說明
setenforce:用于命令行管理SELinux的級別,后面的數(shù)字表示設(shè)置對應(yīng)的級別
getenforce:查看SElinux當(dāng)前的級別狀態(tài)
提示:修改配置SElinux后,要想使生效,必須要重啟系統(tǒng)。因此,可配合使用setenforce 0 這個臨時關(guān)閉的命令,這樣在重啟前后都可以使得SElinux關(guān)閉生效了,也就是說無需立刻重啟服務(wù)器了,在生產(chǎn)環(huán)境下Linux機(jī)器是不能隨意重啟。
3、查看服務(wù)器的服務(wù)進(jìn)程是否處于開啟狀態(tài)(sshd)
netstat -antup或ps -ef :可以用來查看當(dāng)前服務(wù)器開啟的所有服務(wù)
4、查看服務(wù)器的ssh端口是否改變
sshd服務(wù)的配置文件路徑:/etc/ssh/sshd_config
相關(guān)文章
Shell腳本實現(xiàn)的一個簡易Web服務(wù)器例子分享
這篇文章主要介紹了Shell腳本實現(xiàn)的一個簡易Web服務(wù)器例子分享,本文實現(xiàn)的Web服務(wù)器非常簡單實用,可以在你不想安裝nginx、apache等大型WEB服務(wù)器時使用,需要的朋友可以參考下2014-12-12Linux命令學(xué)習(xí)之原來最簡單的ls命令這么復(fù)雜
ls命令應(yīng)該是我們最常用的命令之一了,但是我們可能容易忽略那些看起來最簡單的東西。本文就來和大家詳細(xì)聊聊ls命令的使用,需要的可以了解一下2022-10-10linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip
Linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip,大家參考使用吧2013-12-12Shell中使用plink工具實現(xiàn)遠(yuǎn)程批量關(guān)機(jī)
這篇文章主要介紹了Shell中使用plink工具實現(xiàn)遠(yuǎn)程批量關(guān)機(jī),Plink 是命令行工具,執(zhí)行遠(yuǎn)程服務(wù)器上的命令,需要的朋友可以參考下2014-12-12關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
SSH 是 Linux 下進(jìn)行遠(yuǎn)程連接的基本工具,但是如果僅僅用它來登錄那可是太浪費(fèi)啦!SSH 命令可是完成遠(yuǎn)程操作的神器啊,下面這篇文章主要給大家介紹了關(guān)于SSH 遠(yuǎn)程執(zhí)行命令的一些相關(guān)資料,需要的朋友可以參考下。2017-07-07Linux Shell腳本系列教程(七):腳本調(diào)試
這篇文章主要介紹了Linux Shell腳本系列教程(七):腳本調(diào)試,本文講解了Bash內(nèi)建調(diào)試功能和自定義調(diào)試功能等內(nèi)容,需要的朋友可以參考下2015-06-06Shell腳本實現(xiàn)apache日志中的狀態(tài)碼分析
這篇文章主要介紹了Shell腳本實現(xiàn)apache日志中的狀態(tài)碼分析,本文先是介紹了按天切割日志的方法,然后給出了分析訪問狀態(tài)碼的腳本,需要的朋友可以參考下2014-12-12