1. 程式人生 > >Linux基礎知識第六講,遠端管理ssh操作

Linux基礎知識第六講,遠端管理ssh操作

目錄

Linux基礎知識第六講,遠端管理ssh操作

一丶什麼是SSH

1.什麼是SSH

在 Linux 中 SSH 是 非常常用 的工具,通過 SSH 客戶端 我們可以連線到運行了 SSH 伺服器 的遠端機器上
SSH簡單來說就是 一個客戶端 一個伺服器. 中間的傳輸協議是SSH. 進行資料加密和壓縮傳輸.防止資訊洩露.

2.瞭解域名跟埠

域名
  • 由一串 用點分隔 的名字組成,例如:www.baidu.com
  • IP 地址 的別名,方便使用者記憶
埠號
  • IP 地址:通過 IP 地址 找到網路上的 計算機
  • 埠號:通過 埠號 可以找到 計算機上執行的應用程式
    • SSH 伺服器 的預設埠號是 22,如果是預設埠號,在連線的時候,可以省略
  • 常見服務埠號列表:
序號 服務 埠號
01 SSH 伺服器 22
02 Web 伺服器 80
03 HTTPS 443
04 FTP 伺服器 21

二丶SSH命令以及遠端連線linux進行維護

1.ssh命令格式

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

提示:

  • 使用 exit 退出當前使用者的登入
    ssh預設監聽的埠預設就是22. 如果你的ssh埠改變,那個這個埠就要指定來了.
    例如:

ssh -p 23 遠端計算機使用者名稱:遠端計算機的IP或者域名.
如果你是windows. 那麼你就需要安裝SSH軟體 putty 或者 xshell來進行維護和管理
putty官方下載地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

xShell官方下載地址: https://xshell.en.softonic.com/

2.scp遠端終端拷貝檔案

我們學過終端命令, cp 進行拷貝檔案. 那麼scp就是遠端拷貝檔案

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

002_SCP示意圖
命令演示:

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

# 把遠端 家目錄下的 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 進行檔案傳輸
    scp命令跟cp命令很相似. 只不過操作遠端伺服器,你需要指定遠端伺服器的使用者名稱以及你要拷貝到目的的目錄.
    在windows上使用FileZilla是FTP協議.所以我們填寫的埠是21.

工具的使用與下載
連結: https://filezilla-project.org/

3.ssh高階用法

我們每次連結遠端伺服器的時候.都要進行輸入遠端遠端伺服器的密碼.這樣很麻煩.
我們可以建立一個 ssh私鑰 跟公鑰. 公鑰放到遠端伺服器上.我們就可以進行免密碼操作.
兩條命令搞定.

  • 配置公鑰
    • 執行 ssh-keygen 即可生成 SSH 鑰匙,一路回車即可
  • 上傳公鑰到伺服器
    • 執行 ssh-copy-id -p port [email protected],可以讓遠端伺服器記住我們的公鑰
      注意,我們生成的ssh鑰匙是在.ssh目錄下.也就是 home/.ssh 中.
      因為ssh目錄前邊有一個. 所以代表這個目錄是隱藏的. 我們需要使用 ls -a來檢視才可以.

4.ssh別名配置

我們使用ssh連結遠端伺服器的時候. 一般敲很多 命令
ssh -p xxx [email protected] 才能連結
現在我們能起別名了. 直接 ssh xx 就能連結
配置方法:
1.在你的客戶端.ssh目錄下建立一個config檔案
2.在config配置你的資訊
如下:

Host 別名名稱
    HostName 遠端伺服器IP
    User 遠端伺服器使用者名稱
    Port 遠端伺服器埠,ssh的.預設是22

如下:

如下,直接進行連結即可.