您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“遠程SSH連接服務與基本排錯經驗的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“遠程SSH連接服務與基本排錯經驗的示例分析”這篇文章吧。
為什么要遠程連接Linux系統??
在實際的工作場景中,虛擬機界面或物理服務器本地的窗口都是很少能夠接觸到的,因為服務器裝完系統后,都要拉到IDC機房托管,如果是購買了云主機,更碰不到服務器本地顯示器了,此時,只能通過遠程連接的方式管理Linux系統。因此,在裝好linux系統后,學習Linux運維的第一步應該是配置好客戶端軟件遠程(通過ssh軟件進行連接)連接Linux系統進行管理
telnet連接服務器是明文的,非加密的; 默認為23端口
SSH連接服務器是加密的連接; 默認為22端口
ssh連接示意
服務器端===>通過ssh協議提供===>守護進程sshd監聽22端口(不斷的監聽是否有人需要服務)
客戶端(客戶):ssh協議,ip地址,端口號(需要什么服務),用戶名,密碼
如何查看Linux系統的IP地址??
如圖所示,我的Linux系統IP為192.168.179.133。
可以通過這兩個命令來查看IP地址
ip地址/24:代表子網掩碼255.255.255.0
lo:回環網卡:用于檢測設備自測
eth0:你的第一塊網卡
eth2:你的第二塊網卡
ifup 網卡名與ifconfig 網絡名 up的區別
假如你發現你的虛擬機沒有IP地址的話,那么也許你的網卡設備處于關閉狀態
方法一:ifup + 網卡名(ethx) 可以開啟設備
方法二:ifconfig +網卡名(ethx)+ up 也可以開啟設備
討論
既然這兩個命令都能開啟成功,那么它們到底有沒有區別呢?請跟隨我來做個實驗。
第一步:我們刪掉eth2網卡的配置文件
/etc/sysconfig/network-scripts/:這個路徑是網卡配置文件的路徑,作為運維人員我們是必須熟記得
第二步,我們關閉eth2這個網卡設備
第三步,我們嘗試開啟這個設備
繼續討論
為什么我們的試驗結果是這樣的呢?當我刪除了eth2這個網卡的配置文件,ifup這個命令就失靈了?
?這是因為,ifup/ifdown這個命令控制的實際上并不是物理網卡的開啟和關閉,而實際上他控制的僅僅是網卡的配置文件而已,它是通過網卡配置文件間接的操作網卡設備。
?而ifconfig xxxx up/down:則是控制物理網卡設備的開啟和關閉,因此并不受配置文件的干擾。
CRT遠程連接的基本原理
?我們在前幾節中提到過,sshd這個服務,實際上是服務器的一個守護進程。
?正是因為存在這個守護進程,因此服務器的22端口才會持續不斷的被監聽(監視)
?當CRT通過ssh協議訪問服務器的22端口的時候,服務器的sshd服務才會馬上回應這個訪問,因此才能進行遠程連接
?故,當服務器不存在sshd(把進程kill掉)這個服務時,xshell是無法通過ssh協議進行遠程訪問的。
當我遠程用CRT執行命令kill 1486進程后,只剩下當前CRT連接Linux的sshd進程(Pid=19130)。即 我若想在CRT再開一個會話連接Linux,是絕對連不上的。
如果服務器端sshd服務被未運行,那么所有通過ssh協議的訪問都將失敗(包含xshell,CRT)
當sshd這個服務監聽的不再是22端口時(通過配置文件可以改),CRT必須切換到它監聽的端口進行訪問才能正確連接。
總結:
ifconfig + 網卡名:可以查看開啟狀態的網卡的IP地址(看不到關閉狀態的網卡設備)
ip a:可以查看所有網卡的IP地址(還能看到關閉狀態的網卡)
ip link:可以查看所有網卡的物理狀態
ifup/ifdown + 網卡名:通過網卡配置文件來開啟和關閉網卡設備
ifconfig 網卡名 up/down:直接關閉和開啟網卡設備。
通過kill + Pid號 或者pkill + 服務名稱 來殺掉進程
sshd服務的配置文件路徑:/etc/ssh/sshd_config
網卡的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-網卡名
netstat -antup或ps -ef :可以用來查看當前服務器開啟的所有服務
故障排查(通過ssh工具無法連接Linux主機)
1、兩個機器之間物理網絡是否通暢(網線網卡,IP是否正確)
ping 192.168.xx.xx ====>在當前的CRT或xshell下ping Linux系統,看物理網絡是否通暢
2、防火墻或selinux是否處于開啟狀態
SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對于強制訪問控制的實現,這個功能讓系統管理員又愛又恨,這里我們還是把它關閉了吧,至于安全問題,后面通過其他手段來解決,這也是大多數生產環境的做法,如果非要開啟也是可以的。關閉方式如下:
命令說明
setenforce:用于命令行管理SELinux的級別,后面的數字表示設置對應的級別
getenforce:查看SElinux當前的級別狀態
提示:修改配置SElinux后,要想使生效,必須要重啟系統。因此,可配合使用setenforce 0 這個臨時關閉的命令,這樣在重啟前后都可以使得SElinux關閉生效了,也就是說無需立刻重啟服務器了,在生產環境下Linux機器是不能隨意重啟。
3、查看服務器的服務進程是否處于開啟狀態(sshd)
netstat -antup或ps -ef :可以用來查看當前服務器開啟的所有服務
4、查看服務器的ssh端口是否改變
sshd服務的配置文件路徑:/etc/ssh/sshd_config
以上是“遠程SSH連接服務與基本排錯經驗的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。