怎么進行遠程SSH連接和基本排錯?

發布時間:2018-12-26 13:31 來源:互聯網 當前欄目:遠程桌面

  為什么要遠程連接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:你的第一塊網卡
  eth1:你的第二塊網卡
  ifup網卡名與ifconfig網絡名up的區別
  假如你發現你的虛擬機沒有IP地址的話,那么也許你的網卡設備處于關閉狀態
  方法一:ifup+網卡名(ethx)可以開啟設備
  方法二:ifconfig+網卡名(ethx)+up也可以開啟設備
  討論
  既然這兩個命令都能開啟成功,那么它們到底有沒有區別呢?請跟隨我來做個實驗。
  第一步:我們刪掉eth1網卡的配置文件
  /etc/sysconfig/network-scripts/:這個路徑是網卡配置文件的路徑,作為運維人員我們是必須熟記得
  第二步,我們關閉eth1這個網卡設備
  第三步,我們嘗試開啟這個設備
  繼續討論
  為什么我們的試驗結果是這樣的呢?當我刪除了eth1這個網卡的配置文件,ifup這個命令就失靈了?
  •這是因為,ifup/ifdown這個命令控制的實際上并不是物理網卡的開啟和關閉,而實際上他控制的僅僅是網卡的配置文件而已,它是通過網卡配置文件間接的操作網卡設備。
  •而ifconfigxxxxup/down:則是控制物理網卡設備的開啟和關閉,因此并不受配置文件的干擾。
  CRT遠程連接的基本原理
  •我們在前幾節中提到過,sshd這個服務,實際上是服務器的一個守護進程。
  •正是因為存在這個守護進程,因此服務器的22端口才會持續不斷的被監聽(監視)
  •當CRT通過ssh協議訪問服務器的22端口的時候,服務器的sshd服務才會馬上回應這個訪問,因此才能進行遠程連接
  •故,當服務器不存在sshd(把進程kill掉)這個服務時,xshell是無法通過ssh協議進行遠程訪問的。
  當我遠程用CRT執行命令kill1486進程后,只剩下當前CRT連接Linux的sshd進程(Pid=19130)。即我若想在CRT再開一個會話連接Linux,是絕對連不上的。
  如果服務器端sshd服務被未運行,那么所有通過ssh協議的訪問都將失敗(包含xshell,CRT)
  當sshd這個服務監聽的不再是22端口時(通過配置文件可以改),CRT必須切換到它監聽的端口進行訪問才能正確連接。
  總結:
  ifconfig+網卡名:可以查看開啟狀態的網卡的IP地址(看不到關閉狀態的網卡設備)
  ipa:可以查看所有網卡的IP地址(還能看到關閉狀態的網卡)
  iplink:可以查看所有網卡的物理狀態
  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是否正確)
  ping192.168.xx.xx====>在當前的CRT或xshell下pingLinux系統,看物理網絡是否通暢
  2、防火墻或selinux是否處于開啟狀態
  SELinux(Security-EnhancedLinux)是美國國家安全局(NSA)對于強制訪問控制的實現,這個功能讓系統管理員又愛又恨,這里我們還是把它關閉了吧,至于安全問題,后面通過其他手段來解決,這也是大多數生產環境的做法,如果非要開啟也是可以的。關閉方式如下:
  命令說明
  setenforce:用于命令行管理SELinux的級別,后面的數字表示設置對應的級別
  getenforce:查看SElinux當前的級別狀態
  提示:修改配置SElinux后,要想使生效,必須要重啟系統。因此,可配合使用setenforce0這個臨時關閉的命令,這樣在重啟前后都可以使得SElinux關閉生效了,也就是說無需立刻重啟服務器了,在生產環境下Linux機器是不能隨意重啟。
  3、查看服務器的服務進程是否處于開啟狀態(sshd)
  netstat-antup或ps-ef:可以用來查看當前服務器開啟的所有服務
  4、查看服務器的ssh端口是否改變
  sshd服務的配置文件路徑:/etc/ssh/sshd_config
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、