色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Linux下怎么定制SSH簡化遠程訪問

瀏覽:89日期:2023-07-13 14:19:07

Linux下怎么定制SSH簡化遠程訪問?SSH 使用系統全局以及用戶指定(用戶自定義)的配置文件。在本文中,我們將介紹如何創建一個自定義的 ssh 配置文件,并且通過特定的選項來連接到遠程主機。

Linux下怎么定制SSH簡化遠程訪問

SSH (指 SSH 客戶端)是一個用于訪問遠程主機的程序,它使得用戶能夠 在遠程主機上執行命令。這是在登錄遠程主機中的最受推崇的方法之一,因為其設計目的就是在非安全網絡環境上為兩臺非受信主機的通信提供安全加密。

SSH 使用系統全局以及用戶指定(用戶自定義)的配置文件。在本文中,我們將介紹如何創建一個自定義的 ssh 配置文件,并且通過特定的選項來連接到遠程主機。

先決條件:

1.你必須 在你的桌面 Linux 上安裝好 OpenSSH 客戶端。

2.了解通過 ssh 進行遠程連接的常用選項。

SSH 客戶端配置文件

以下為 ssh 客戶端配置文件:

1./etc/ssh/ssh_config 為默認的配置文件,屬于系統全局配置文件,包含應用到所有用戶的 ssh 客戶端的設置。

2.~/.ssh/config 或者 $HOME/.ssh/config 為用戶指定/自定義配置文件,這個文件中的配置只對指定的用戶有效,因此,它會覆蓋掉默認的系統全局配置文件中的設置。這也是我們要創建和使用的文件。

默認情況下,用戶是通過在 ssh 中輸入密碼來獲取驗證的,你可以以一個簡單的步驟來 使用 Keygen 來設置 ssh 無密碼登錄。

注:如果你的系統上不存在 ~/.ssh 目錄,那就手動創建它,并設置如下權限:

1 2 $ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh

以上的 chmod 命令表明,只有目錄屬主對該目錄有讀取、寫入和執行權限,這也是 ssh 所要求的設置。

如何創建用戶指定的 SSH 配置文件

該文件并不會被默認創建的,所以你需要使用具有讀取/寫入權限的用戶來創建它。

1 2 $ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config

上述文件包含由特定主機定義的各個部分,并且每個部分只應用到主機定義中相匹配的部分。

~/.ssh/config 文件的常見格式如下,其中所有的空行和以 ‘#’ 開頭的行為注釋:

1 2 3 4 5 6 7 8 9 10 Host host1 ssh_option1=value1 ssh_option2=value1 value2 ssh_option3=value1 Host host2 ssh_option1=value1 ssh_option2=value1 value2 Host * ssh_option1=value1 ssh_option2=value1 value2

如上格式詳解:

1.Host host1 為關于 host1 的頭部定義,主機相關的設置就從此處開始,直到下一個頭部定義 Host host2 出現,這樣形成一個完整的定義。

2.host1 和 host2 是在命令行中使用的主機別名,并非實際的遠程主機名。

3.其中,如 sshoption1=value1、sshoption2=value1 value2 等配置選項將應用到相匹配的主機,可以縮進以看起來更整齊些。

4.對于 ssh_option2=value1 value2 這樣的選項,ssh 執行時會按照順序優先使用 value1 的值。

5.頭部定義 Host * (其中 * 為匹配模式/通配符,匹配零個或多個字符) 會匹配零個或者多個主機。

仍舊以上述的格式為例,ssh 也是也這樣的形式類讀取配置文件的。如果你執行 ssh 命令來訪問遠程主機 host1,如下:

1 $ ssh host1

以上 ssh 命令會進行一下動作:

1.匹配配置文件中主機別名 host1,并使用頭部定義中的各個設置項。

2.繼續匹配下一個主機定義,然后發現命令行中提供的主機名沒有匹配的了,所以接下來的各個設置項會被略過。

3.最后執行到最后一個主機定義 Host *, 這會匹配所有的主機。這里,會將接下來的所有設置選項應用到所有的主機連接中。但是它不會覆寫之前已經有主機定義的那些選項。

4.ssh host2 與此類似。

如何使用用戶指定的 shh 配置文件

在你理解了 ssh 客戶端配置文件的工作方式之后,你可以通過如下方式來創建它。記得使用你的服務器環境中對應的選項、值 (主機別名、端口號、用戶名等)。

通過你最喜歡的編輯器來打開配置文件:

1 $ vi ~/.ssh/config

并定義必要的部分:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Host fedora25 HostName 192.168.56.15 Port 22 ForwardX11 no Host centos7 HostName 192.168.56.10 Port 22 ForwardX11 no Host ubuntu HostName 192.168.56.5 Port 2222 ForwardX11 yes Host * User tecmint IdentityFile ~/.ssh/id_rsa Protocol 2 Compression yes ServerAliveInterval 60 ServerAliveCountMax 20 LogLevel INFO

以上 ssh 配置文件的詳細解釋:

1.HostName - 定義真正要登錄的主機名,此外,你也可以使用數字 IP 地址,不管是在命令行或是 HostName 定義中都允許使用其中任一種。

2.User 指定以哪一個用戶來登錄。

3.Port 設置連接遠程主機的端口,默認是 22 端口。但必須是遠程主機的 sshd 配置文件中定義的端口號。

4.Protocol 這個選項定義了優先使用 ssh 支持的協議版本。常用的值為 ‘1’ 和 ‘2’,同時使用兩個協議版本則必須使用英文逗號隔開。

5.IdentityFile 指定一個用于讀取用戶 DSA、Ed25519、ECDSA 等授權驗證信息的文件。

6.ForwardX11 定義 X11 連接是否自動重定向到安全通道和 DISPLAY 設置。有兩個可以設置的值,即 yes 或 no。

7.Compression 默認值為 no,如果設置為 yes,則在連接遠程主機過程中使用壓縮進行傳輸。

8.ServerAliveInterval 設置當沒有收到服務器響應 (或者數據))時的超時時間,單位為秒,ssh 會通過加密信道發送信息,請求服務器響應。默認值為 0,這意味著 ssh 不會向服務器發送響應請求;如果定義了 BatchMode 選項,則默認是 300 秒。

9.ServerAliveCountMax 設置服務器在沒有接收到服務器的任何響應時,由服務器發送的活動信息數量。

10.LogLevel 定義 ssh 登錄信息的的日志冗余級別。允許的值為:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2 和 DEBUG3,默認為 INFO。

連接任意遠程主機的標準方法是在上述兩個文件中定義第二個部分(我連接的是 CentOS 7)。一般情況下,我們這樣輸入命令:

1 $ ssh -i ~/.ssh/id_rsa -p 22 tecmint@192.168.56.10

然而,使用了 ssh 客戶端配置文件之后,我們還可以這樣:

1 $ ssh centos7

你也可以在 man 幫助頁面尋找更多的設置選項和使用實例:

1 $man ssh_config

標簽: Linux系統
相關文章:
主站蜘蛛池模板: 国产精品爽爽va在线观看无码 | 精品日韩欧美一区二区三区 | 美国亚洲成年毛片 | 欧美一级毛片高清免费观看 | 亚洲特级毛片 | 亚洲精品区在线播放一区二区 | 在线成人a毛片免费播放 | 久章草在线观看 | 国内精品视频九九九九 | 久草免费在线播放视频 | 日日狠狠久久偷偷四色综合免费 | 2022国内精品免费福利视频 | 亚洲欧美日韩中文字幕在线一区 | 国产九九精品视频 | 国产乱弄视频在线观看 | 毛片视频网址 | 亚洲国产天堂久久精品网 | 男的操美女 | aa级毛片毛片免费观看久 | 国产精品日本 | 久久精品国内偷自一区 | 欧美视频在线观看免费精品欧美视频 | 人操人碰 | 九月婷婷亚洲综合在线 | 午夜香蕉网 | 国产成人高清精品免费软件 | 久久99国产精品久久99果冻传媒 | 91啦丨国产丨 | 精品国产一区二区三区免费 | 国产免费自拍视频 | 一级片网站在线观看 | 成人免费真人毛片视频 | 污美女网站www在线观看 | 正在播放国产大学生情侣 | 午夜黄色毛片 | 国产一区二区三区四区五区tv | 免费一级欧美大片在线观看 | 国产一区二区免费播放 | 亚洲综合色dddd26 | 亚洲视频在线观看视频 | 另类视频综合 |