Linux實戰教學筆記05:遠程SSH連接服務與基本排錯(新手掃盲篇)

来源:http://www.cnblogs.com/chensiqiqi/archive/2016/12/27/6224474.html
-Advertisement-
Play Games

第五節 遠程SSH連接服務與基本排錯 標簽(空格分隔):Linux實戰教學筆記 陳思齊 第1章 遠程連接LInux系統管理 1.1 為什麼要遠程連接Linux系統 ![屏幕快照 2016 12 25 下午10.04.28.png 633.3kB][1] 在實際的工作場景中,虛擬機界面或物理伺服器本地 ...


第五節 遠程SSH連接服務與基本排錯

標簽(空格分隔):Linux實戰教學筆記-陳思齊


第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.9kB

第2章 連接前的小知識

2.1 IP地址

互聯網上的電腦都會有一個唯一的32位的地址,我們訪問伺服器,就必須通過這個IP地址。區域網里也有預留的IP地址192.10.172開頭,區域網的IP地址也是唯一。NAT模式,電腦宿主機的ip在區域網是唯一的,選擇了NAT模式創建虛擬機,虛擬機就是一個新的區域網(私有網路)

2.2 埠的簡單概念

老師的機器ip 192.168.11.211
192.168.11.211代表一臺主機,但是主機上可能會有很多服務。一臺主機上的不同服務功能,就是通過埠區分,然後讓外部人員訪問。

2.3 協議的簡單概念

漢語,英語,法語,不同的服務提供了不同的埠,對應了不同的功能,通信方式可能也是不同的,這種通信的方式我們就可以理解為協議。
一臺主機上的不同服務功能,就是通過埠區分,不同的服務埠,客戶端和伺服器之間通信,就可以使用不同的協議

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

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

  • telnet連接伺服器是明文的,非加密的
  • SSH連接伺服器是加密的連接

(由於我是用mac來寫文檔,沒法實際截圖xsehll這個windows工具的使用,但這個工具真的是非常簡單,請同學們自行腦補)

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

討論

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

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

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

  • 第二步,我們關閉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埠




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 比如有一個表,我們需要些一個語句像SELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......' , 然後就能返回分割成單獨的行。 原表: | SomeID | OtherID | Data + + + | abcdef-..... | cdef1 ...
  • MySQL 系列(三)你不知道的 視圖、觸發器、存儲過程、函數、事務、索引、語句 第一篇:MySQL 系列(一) 生產標準線上環境安裝配置案例及棘手問題解決 第二篇:MySQL 系列(二) 你不知道的資料庫操作 第三篇:MySQL 系列(三)你不知道的 視圖、觸發器、存儲過程、函數、事務、索引、語句 ...
  • MySQL 系列(一) 生產標準線上環境安裝配置案例及棘手問題解決 一、簡介 MySQL是最流行的開放源碼SQL資料庫管理系統,它是由MySQL AB公司開發、發佈並支持的。有以下特點: MySQL是一種資料庫管理系統。 MySQL是一種關聯資料庫管理系統。 MySQL軟體是一種開放源碼軟體。 My ...
  • 開篇小故事 下麵的故事都是真實的,猶如雷同純屬同類,請仔細反思。 故事1:升級硬體 客戶後臺資料庫存在性能問題,查詢特別慢,長時間語句很多。客戶因此而苦惱,咨詢了軟體廠商我該怎麼辦?軟體廠商給出的答案:升級硬體吧,現在的資源不能滿足了! 那麼客戶是什麼硬體配置呢?資料庫什麼體量呢? 答:128的CP ...
  • 隨著技術的發展,IT逐漸面臨越來越多的挑戰,尤其是數據治理方面。而九州通醫葯集團在IT建設方面不畏艱險,自主研發ERP系統、物流系統,在解決企業自身問題的同時還創新投入商業化,為同行業提供服務,樹立標桿形象。 ...
  • 之前介紹了資料庫的增刪改查, 發現忘記了資料庫的一些基本操作, 比如建庫, 建表, 改表等等. 那這裡就來小結一下資料庫sql形式的基本操作. 一、庫操作 1. 建庫 在建庫之前, 可能需要看一下, 資料庫裡面, 已經存在哪些庫, 這樣可以去處理重覆的問題. 這裡之所以會出現newdb, 是因為我已 ...
  • 要對函數進行調試需要安裝插件pldbgapi,當初在windows上面的postgresql實例中執行了一下語句就安裝上了: create extension pldbgapi; 但是在linux中執行該語句時提示沒有這個文件,上網查了好幾個資料,使用德哥的方法。不過在實際操作中還是有出入,這裡做一 ...
  • 系統:centos6.6 下載google身份驗證包google-authenticator-master(其實只是一個.zip文件,在windwos下解壓,然後傳進linux) #cd /data/google-authenticator-master/libpam #yum install li ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...