1. 程式人生 > >Linux遠程管理相關命令

Linux遠程管理相關命令

臺電 用戶 別名 維護 windows 電腦 圖片 -bash 數據包

目標
  • 關機/重啟
    • 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域名,或者是 後面會提到的別名
  • portSSH Server 監聽的端口,如果不指定,就為默認值 22

提示:

  • 使用 exit 退出當前用戶的登錄

註意:

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

提示:

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

3) Windows 下 SSH 客戶端的安裝

  • Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  • XShell http://xshellcn.com

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

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

  • 官方網站:https://www.filezilla.cn/download/client
  • FileZilla 在傳輸文件時,使用的是 FTP 服務 而不是 SSH 服務,因此端口號應該設置為 21

3.3 SSH 高級(知道)

  • 免密碼登錄
  • 配置別名

提示:有關 SSH 配置信息都保存在用戶家目錄下的 .ssh 目錄下

1)免密碼登錄

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

技術分享圖片

非對稱加密算法

  • 使用 公鑰 加密的數據,需要使用 私鑰 解密
  • 使用 私鑰 加密的數據,需要使用 公鑰 解密

2) 配置別名

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

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

Host mac
    HostName ip地址
    User itheima
    Port 22

保存之後,即可用 ssh mac 實現遠程登錄了,scp 同樣可以使用

Linux遠程管理相關命令