1. 程式人生 > >Linux - 遠端管理常用命令

Linux - 遠端管理常用命令

遠端管理常用命令

目標

  • 關機/重啟
    • shutdown
  • 檢視或配置網絡卡資訊
    • ifconfig
    • ping
  • 遠端登入和複製檔案
    • ssh
    • scp

01. 關機/重啟

序號 命令 對應英文 作用
01 shutdown 選項 時間 shutdown 關機/重新啟動

1.1 shutdown

  • shutdown 命令可以 安全 關閉 或者 重新啟動系統
選項 含義
-r 重新啟動

提示:

  • 不指定選項和引數,預設表示 1 分鐘之後 關閉電腦
  • 遠端維護伺服器時,最好不要關閉系統,而應該重新啟動系統
  • 常用命令示例
# 重新啟動作業系統,其中 now 表示現在
$ shutdown -r now

# 立刻關機,其中 now 表示現在
$ shutdown now

# 系統在今天的 20:25 會關機
$ shutdown 20:25 # 系統再過十分鐘後自動關機 $ shutdown +10 # 取消之前指定的關機計劃 $ shutdown -c 

02. 檢視或配置網絡卡資訊

序號 命令 對應英文 作用
01 ifconfig configure a network interface 檢視/配置計算機當前的網絡卡配置資訊
02 ping ip地址 ping 檢測到目標 ip地址 的連線是否正常

2.1 網絡卡 和 IP 地址

網絡卡

  • 網絡卡是一個專門負責網路通訊的硬體裝置
  • IP 地址是設定在網絡卡上的地址資訊

我們可以把 電腦 比作 電話,網絡卡 相當於 SIM 卡,IP 地址 相當於 電話號碼

IP 地址

  • 每臺聯網的電腦上都有 IP 地址,是保證電腦之間正常通訊的重要設定

注意:每臺電腦的 IP 地址不能相同,否則會出現 IP 地址衝突,並且沒有辦法正常通訊

提示:有關 IP 地址的詳細內容,在就業班會詳細講解!

2.2 ifconfig

  • ifconfig 可以檢視/配置計算機當前的網絡卡配置資訊
# 檢視網絡卡配置資訊
$ ifconfig

# 檢視網絡卡對應的 IP 地址
$ ifconfig | grep inet

提示:一臺計算機中有可能會有一個 物理網絡卡 和 多個虛擬網絡卡,在 Linux 中物理網絡卡的名字通常以 ensXX 表示

  • 127.0.0.1 被稱為 本地迴環/環回地址,一般用來測試本機網絡卡是否正常

2.3 ping

# 檢測到目標主機是否連線正常
$ ping IP地址

# 檢測本地網絡卡工作正常
$ ping 127.0.0.1
  • ping 一般用於檢測當前計算機到目標計算機之間的網路 是否通暢,數值越大,速度越慢
  • ping 的工作原理與潛水艇的聲納相似,ping 這個命令就是取自 聲納的聲音
  • 網路管理員之間也常將 ping 用作動詞 —— ping 一下計算機X,看他是否開著

原理:網路上的機器都有 唯一確定的 IP 地址,我們給目標 IP 地址傳送一個數據包,對方就要返回一個數據包,根據返回的資料包以及時間,我們可以確定目標主機的存在

提示:在 Linux 中,想要終止一個終端程式的執行,絕大多數都可以使用 CTRL + C

03. 遠端登入和複製檔案

序號 命令 對應英文 作用
01 ssh 使用者名稱@ip secure shell 關機/重新啟動
02 scp 使用者名稱@ip:檔名或路徑 使用者名稱@ip:檔名或路徑 secure copy 遠端複製檔案

3.1 ssh 基礎(重點)

在 Linux 中 SSH 是 非常常用 的工具,通過 SSH 客戶端 我們可以連線到運行了 SSH 伺服器 的遠端機器上

  • SSH 客戶端是一種使用 Secure Shell(SSH) 協議連線到遠端計算機的軟體程式
  • SSH 是目前較可靠,專為遠端登入會話和其他網路服務 提供安全性的協議
    • 利用 SSH 協議 可以有效防止遠端管理過程中的資訊洩露
    • 通過 SSH 協議 可以對所有傳輸的資料進行加密,也能夠防止 DNS 欺騙和 IP 欺騙
  • SSH 的另一項優點是傳輸的資料可以是經過壓縮的,所以可以加快傳輸的速度

1) 域名 和 埠號

域名
  • 由一串 用點分隔 的名字組成,例如:www.itcast.cn
  • 是 IP 地址 的別名,方便使用者記憶
埠號
  • IP 地址:通過 IP 地址 找到網路上的 計算機
  • 埠號:通過 埠號 可以找到 計算機上執行的應用程式

    • SSH 伺服器 的預設埠號是 22,如果是預設埠號,在連線的時候,可以省略
  • 常見服務埠號列表:

序號 服務 埠號
01 SSH 伺服器 22
02 Web 伺服器 80
03 HTTPS 443
04 FTP 伺服器 21

提示:有關 埠號的詳細內容,在就業班會詳細講解!

2) SSH 客戶端的簡單使用

ssh [-p port] [email protected]
  • user 是在遠端機器上的使用者名稱,如果不指定的話預設為當前使用者
  • remote 是遠端機器的地址,可以是 IP/域名,或者是 後面會提到的別名
  • port 是 SSH Server 監聽的埠,如果不指定,就為預設值 22

提示:

  • 使用 exit 退出當前使用者的登入

注意:

  • ssh 這個終端命令只能在 Linux 或者 UNIX 系統下使用
  • 如果在 Windows 系統中,可以安裝 PuTTY 或者 XShell 客戶端軟體即可

提示:

  • 在工作中,SSH 伺服器的埠號很有可能不是 22,如果遇到這種情況就需要使用 -p 選項,指定正確的埠號,否則無法正常連線到伺服器

3) Windows 下 SSH 客戶端的安裝

建議從官方網站下載正式的安裝程式

3.2 scp(掌握)

  • scp 就是 secure copy,是一個在 Linux 下用來進行 遠端拷貝檔案 的命令
  • 它的地址格式與 ssh 基本相同,需要注意的是,在指定埠時用的是大寫的 -P 而不是小寫的

# 把本地當前目錄下的 01.py 檔案 複製到 遠端 家目錄下的 Desktop/01.py
# 注意:`:` 後面的路徑如果不是絕對路徑,則以使用者的家目錄作為參照路徑
scp -P port 01.py [email protected]:Desktop/01.py

# 把遠端 家目錄下的 Desktop/01.py 檔案 複製到 本地當前目錄下的 01.py scp -P port [email protected]:Desktop/01.py 01.py # 加上 -r 選項可以傳送資料夾 # 把當前目錄下的 demo 資料夾 複製到 遠端 家目錄下的 Desktop scp -r demo [email protected]:Desktop # 把遠端 家目錄下的 Desktop 複製到 當前目錄下的 demo 資料夾 scp -r [email protected]:Desktop demo 
選項 含義
-r 若給出的原始檔是目錄檔案,則 scp 將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名
-P 若遠端 SSH 伺服器的埠不是 22,需要使用大寫字母 -P 選項指定埠

注意:

  • scp 這個終端命令只能在 Linux 或者 UNIX 系統下使用
  • 如果在 Windows 系統中,可以安裝 PuTTY,使用 pscp 命令列工具或者安裝 FileZilla 使用 FTP 進行檔案傳輸

FileZilla

3.3 SSH 高階(知道)

  • 免密碼登入
  • 配置別名

提示:有關 SSH 配置資訊都儲存在使用者家目錄下的 .ssh 目錄下

1)免密碼登入

步驟
  • 配置公鑰
    • 執行 ssh-keygen 即可生成 SSH 鑰匙,一路回車即可
  • 上傳公鑰到伺服器
    • 執行 ssh-copy-id -p port [email protected],可以讓遠端伺服器記住我們的公鑰
示意圖

非對稱加密演算法

  • 使用 公鑰 加密的資料,需要使用 私鑰 解密
  • 使用 私鑰 加密的資料,需要使用 公鑰 解密

2) 配置別名

每次都輸入 ssh -p port [email protected],時間久了會覺得很麻煩,特別是當 userremote 和 port 都得輸入,而且還不好記憶

而 配置別名 可以讓我們進一步偷懶,譬如用:ssh mac 來替代上面這麼一長串,那麼就在 ~/.ssh/config裡面追加以下內容:

Host mac
    HostName ip地址
    User itheima
    Port 22

儲存之後,即可用 ssh mac 實現遠端登入了,scp 同樣可以使用

——本文源自《黑馬程式設計師》