Linux實戰教學筆記05:遠程SSH鏈接服務與基本排錯

第1章 遠程鏈接LInux系統管理

1.1 爲何要遠程鏈接Linux系統

屏幕快照 2016-12-25 下午10.04.28.png-633.3kB
在實際的工做場景中,虛擬機界面或物理服務器本地的窗口都是不多可以接觸到的,由於服務器裝完系統後,都要拉到IDC機房託管,若是是購買了雲主機,更碰不到服務器本地顯示器了,此時,只能經過遠程鏈接的方式管理Linux系統。所以,在裝好linux系統後,學習Linux運維的第一步應該是配置好客戶端軟件遠程(經過ssh軟件進行鏈接)鏈接Linux系統進行管理。
屏幕快照 2016-12-25 下午10.07.42.png-2022.9kBlinux

第2章 鏈接前的小知識

2.1 IP地址

互聯網上的計算機都會有一個惟一的32位的地址,咱們訪問服務器,就必須經過這個IP地址。局域網裏也有預留的IP地址192.10.172開頭,局域網的IP地址也是惟一。NAT模式,電腦宿主機的ip在局域網是惟一的,選擇了NAT模式建立虛擬機,虛擬機就是一個新的局域網(私有網絡)shell

2.2 端口的簡單概念

老師的機器ip 192.168.11.211
192.168.11.211表明一臺主機,可是主機上可能會有不少服務。一臺主機上的不一樣服務功能,就是經過端口區分,而後讓外部人員訪問。windows

2.3 協議的簡單概念

漢語,英語,法語,不一樣的服務提供了不一樣的端口,對應了不一樣的功能,通訊方式可能也是不一樣的,這種通訊的方式咱們就能夠理解爲協議。
一臺主機上的不一樣服務功能,就是經過端口區分,不一樣的服務端口,客戶端和服務器之間通訊,就能夠使用不一樣的協議服務器

第3章 SSH遠程鏈接故障排查示例

屏幕快照 2016-12-25 下午10.27.30.png-835kB

  • telnet鏈接服務器是明文的,非加密的
  • SSH鏈接服務器是加密的鏈接

(因爲我是用mac來寫文檔,無法實際截圖xsehll這個windows工具的使用,但這個工具真的是很是簡單,請同窗們自行腦補)markdown

3.1 ssh鏈接示意

  • 服務器端===>經過ssh協議提供===>sshd服務====>監聽22端口(不斷的監聽是否有人須要服務)
  • 客戶端(客戶):ssh協議,ip地址,端口號(須要什麼服務),用戶名,密碼

屏幕快照 2016-12-26 下午10.02.37.png-343.3kB

3.2 遠程鏈接五要素

  1. 協議:SSH(加密),telnet(未加密)
  2. IP:對方的IP地址
  3. 端口:默認22端口
  4. 用戶名:
  5. 密碼:

3.3 如何查看IP地址

  • ifconfig(ip a)

QQ20161226-230633@2x.png-76.4kB

能夠經過這兩個命令來查看IP地址
ip地址/24:表明子網掩碼255.255.255.0
lo:迴環網卡:用於檢測設備自測
eth0:你的第一塊網卡
eth1:你的第二塊網卡網絡

注意
假如你發現你的虛擬機沒有IP地址的話,那麼也許你的網卡設備處於關閉狀態
QQ20161226-232602@2x.png-44.5kB
經過命令:ifup + 網卡名(ethx) 能夠開啓設備
經過命令:ifconfig +網卡名(ethx)+ up 也能夠開啓設備
QQ20161226-233622@2x.png-156.2kB運維

討論ssh

既然這兩個命令都能開啓成功,那麼它們到底有沒有區別呢?請跟隨我來作個實驗。工具

  • 第一步:咱們刪掉eth1網卡的配置文件
    QQ20161226-233915@2x.png-27.6kB

/etc/sysconfig/network-scripts/:這個路徑是網卡配置文件的路徑,做爲運維人員咱們是必須熟記得post

  • 第二步,咱們關閉eth1這個網卡設備
    QQ20161226-234211@2x.png-72.8kB
  • 第三步,咱們嘗試開啓這個設備
    QQ20161226-234407@2x.png-68.2kB

繼續討論

爲何咱們的試驗結果是這樣的呢?當我刪除了eth1這個網卡的配置文件,ifup這個命令就失靈了?

  • 這是由於,ifup/ifdown這個命令控制的實際上並非物理網卡的開啓和關閉,而實際上他控制的僅僅是網卡的配置文件而已,它是經過網卡配置文件間接的操做網卡設備。
  • 而ifconfig xxxx up/down:則是控制物理網卡設備的開啓和關閉,所以並不受配置文件的干擾。

3.4 xshell 遠程鏈接的基本原理

  • 咱們在前幾節中提到過,sshd這個服務,其實是服務器的一個守護進程。
  • 正是由於存在這個守護進程,所以服務器的22端口才會持續不斷的被監聽(監視)
  • 當xshell經過ssh協議訪問服務器的22端口的時候,服務器的sshd服務纔會立刻迴應這個訪問,所以才能進行遠程鏈接
  • 故,當服務器不存在sshd(把進程kill掉)這個服務時,xshell是沒法經過ssh協議進行遠程訪問的。
    QQ20161227-000537@2x.png-29.7kB

若是服務器端sshd服務被未運行,那麼全部經過ssh協議的訪問都將失敗(包含xshell)
屏幕快照 2016-12-27 上午12.07.48.png-287kB
這是一個mac的控制檯的鏈接圖經過ssh訪問失敗,(xshell鏈接的請自行嘗試。)

  • 當sshd這個服務監聽的再也不是22端口時(經過配置文件能夠改),xshell必須切換到它監聽的端口進行訪問才能正確鏈接。
    QQ20161227-001520@2x.png-60.6kB

小結

  • ifconfig + 網卡名:能夠查看開啓狀態的網卡的IP地址(看不到關閉狀態的網卡設備)
  • ip a:能夠查看全部網卡的IP地址(還能看到關閉狀態的網卡)
  • ip link:能夠查看全部網卡的物理狀態
  • ifup/ifdown + 網卡名:經過網卡配置文件來開啓和關閉網卡設備
  • ifconfig 網卡名 up/down:直接關閉和開啓網卡設備。
  • 經過kill + Pid號 或者pkill + 服務名稱 來殺掉進程
    QQ20161227-002320@2x.png-123.1kB
    sshd服務的配置文件路徑:/etc/ssh/sshd_config
    網卡的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-網卡名
    netstat -antup或ps -ef :能夠用來查看當前服務器開啓的全部服務

3.5 故障排查

1,兩個機器之間物理網絡是否通暢(網線網卡,IP是否正確)
ping -t 192.168.xx.xx ====>物理網絡是否通暢
QQ20161227-003442@2x.png-981.4kB
2,防火牆或selinux是否處於開啓狀態
QQ20161227-003728@2x.png-77.5kB

QQ20161227-004303@2x.png-270.2kB

直接經過sed -i 操做文件永久關閉selinux(下圖的enable應該是enabled
QQ20161227-004641@2x.png-257.5kB

3,查看服務器的服務進程是否處於開啓狀態(sshd)

小結

  • 第一步:看看路是否是通的:
    ping 服務器:

排查客戶端到服務器端線路問題,ping是經常使用的網絡連通性檢查工具(路通否)

tracert -d 服務器IP:跟蹤路由器

路由跟蹤命令,也能夠檢查路由是否通暢,-d 是不對域名進行解析

  • 第二步:去服務器端查看
    service iptables status
    /etc/init.d/iptalbes status

這兩個命令均可以查看,等效。
linux防火牆iptables,可能好心辦壞事,阻擋了遠程鏈接,關掉防火牆,讓道路暢通無阻

  • 第三步:SSH服務問題
    telnet + IP地址:查看SSH 22 端口是否打開了(客戶端執行)
    nmap + IP地址 + -p 22 :掃描服務器是否開啓了22端口
金牌IT職業再教育培訓機構,歡迎來校資源。QQ:215379068
相關文章
相關標籤/搜索