遠(yuǎn)程SSH連接服務(wù)與基本排錯(cuò)經(jīng)驗(yàn)總結(jié)
為什么要遠(yuǎn)程連接Linux系統(tǒng)??
在實(shí)際的工作場(chǎng)景中,虛擬機(jī)界面或物理服務(wù)器本地的窗口都是很少能夠接觸到的,因?yàn)榉?wù)器裝完系統(tǒng)后,都要拉到IDC機(jī)房托管,如果是購(gòu)買了云主機(jī),更碰不到服務(wù)器本地顯示器了,此時(shí),只能通過遠(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地址,端口號(hào)(需要什么服務(wù)),用戶名,密碼
如何查看Linux系統(tǒng)的IP地址??
如圖所示,我的Linux系統(tǒng)IP為192.168.179.133。
可以通過這兩個(gè)命令來(lái)查看IP地址
ip地址/24:代表子網(wǎng)掩碼255.255.255.0
lo:回環(huán)網(wǎng)卡:用于檢測(cè)設(shè)備自測(cè)
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è)備
討論
既然這兩個(gè)命令都能開啟成功,那么它們到底有沒有區(qū)別呢?請(qǐng)跟隨我來(lái)做個(gè)實(shí)驗(yàn)。
第一步:我們刪掉eth1網(wǎng)卡的配置文件
/etc/sysconfig/network-scripts/:這個(gè)路徑是網(wǎng)卡配置文件的路徑,作為運(yùn)維人員我們是必須熟記得
第二步,我們關(guān)閉eth1這個(gè)網(wǎng)卡設(shè)備
第三步,我們嘗試開啟這個(gè)設(shè)備
繼續(xù)討論
為什么我們的試驗(yàn)結(jié)果是這樣的呢?當(dāng)我刪除了eth1這個(gè)網(wǎng)卡的配置文件,ifup這個(gè)命令就失靈了?
•這是因?yàn)椋?span style="color:#ff00ff">ifup/ifdown這個(gè)命令控制的實(shí)際上并不是物理網(wǎng)卡的開啟和關(guān)閉,而實(shí)際上他控制的僅僅是網(wǎng)卡的配置文件而已,它是通過網(wǎng)卡配置文件間接的操作網(wǎng)卡設(shè)備。
•而ifconfig xxxx up/down:則是控制物理網(wǎng)卡設(shè)備的開啟和關(guān)閉,因此并不受配置文件的干擾。
CRT遠(yuǎn)程連接的基本原理
•我們?cè)谇皫坠?jié)中提到過,sshd這個(gè)服務(wù),實(shí)際上是服務(wù)器的一個(gè)守護(hù)進(jìn)程。
•正是因?yàn)榇嬖谶@個(gè)守護(hù)進(jìn)程,因此服務(wù)器的22端口才會(huì)持續(xù)不斷的被(監(jiān)視)
•當(dāng)CRT通過ssh協(xié)議訪問服務(wù)器的22端口的時(shí)候,服務(wù)器的sshd服務(wù)才會(huì)馬上回應(yīng)這個(gè)訪問,因此才能進(jìn)行遠(yuǎn)程連接
•故,當(dāng)服務(wù)器不存在sshd(把進(jìn)程kill掉)這個(gè)服務(wù)時(shí),xshell是無(wú)法通過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再開一個(gè)會(huì)話連接Linux,是絕對(duì)連不上的。
如果服務(wù)器端sshd服務(wù)被未運(yùn)行,那么所有通過ssh協(xié)議的訪問都將失?。ò瑇shell,CRT)
當(dāng)sshd這個(gè)服務(wù)的不再是22端口時(shí)(通過配置文件可以改),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)卡配置文件來(lái)開啟和關(guān)閉網(wǎng)卡設(shè)備
ifconfig 網(wǎng)卡名 up/down:直接關(guān)閉和開啟網(wǎng)卡設(shè)備。
通過kill + Pid號(hào) 或者pkill + 服務(wù)名稱 來(lái)殺掉進(jìn)程
sshd服務(wù)的配置文件路徑:/etc/ssh/sshd_config
網(wǎng)卡的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-網(wǎng)卡名
netstat -antup或ps -ef :可以用來(lái)查看當(dāng)前服務(wù)器開啟的所有服務(wù)
故障排查(通過ssh工具無(wú)法連接Linux主機(jī))
1、兩個(gè)機(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)
命令說(shuō)明
setenforce:用于命令行管理SELinux的級(jí)別,后面的數(shù)字表示設(shè)置對(duì)應(yīng)的級(jí)別
getenforce:查看SElinux當(dāng)前的級(jí)別狀態(tài)
提示:修改配置SElinux后,要想使生效,必須要重啟系統(tǒng)。因此,可配合使用setenforce 0 這個(gè)臨時(shí)關(guān)閉的命令,這樣在重啟前后都可以使得SElinux關(guān)閉生效了,也就是說(shuō)無(wú)需立刻重啟服務(wù)器了,在生產(chǎn)環(huán)境下Linux機(jī)器是不能隨意重啟。
3、查看服務(wù)器的服務(wù)進(jìn)程是否處于開啟狀態(tài)(sshd)
netstat -antup或ps -ef :可以用來(lái)查看當(dāng)前服務(wù)器開啟的所有服務(wù)
4、查看服務(wù)器的ssh端口是否改變
sshd服務(wù)的配置文件路徑:/etc/ssh/sshd_config
相關(guān)文章
Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享,本文實(shí)現(xiàn)的Web服務(wù)器非常簡(jiǎn)單實(shí)用,可以在你不想安裝nginx、apache等大型WEB服務(wù)器時(shí)使用,需要的朋友可以參考下2014-12-12Linux命令學(xué)習(xí)之原來(lái)最簡(jiǎn)單的ls命令這么復(fù)雜
ls命令應(yīng)該是我們最常用的命令之一了,但是我們可能容易忽略那些看起來(lái)最簡(jiǎn)單的東西。本文就來(lái)和大家詳細(xì)聊聊ls命令的使用,需要的可以了解一下2022-10-10linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip
Linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip,大家參考使用吧2013-12-12Linux 壓縮某個(gè)文件夾的實(shí)現(xiàn)方法
這篇文章主要介紹了Linux 壓縮某個(gè)文件夾的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10Shell中使用plink工具實(shí)現(xiàn)遠(yuǎn)程批量關(guān)機(jī)
這篇文章主要介紹了Shell中使用plink工具實(shí)現(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)程連接的基本工具,但是如果僅僅用它來(lái)登錄那可是太浪費(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腳本實(shí)現(xiàn)apache日志中的狀態(tài)碼分析
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)apache日志中的狀態(tài)碼分析,本文先是介紹了按天切割日志的方法,然后給出了分析訪問狀態(tài)碼的腳本,需要的朋友可以參考下2014-12-12