自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux下如何定制SSH來(lái)簡(jiǎn)化遠(yuǎn)程訪問

系統(tǒng) Linux 系統(tǒng)運(yùn)維
SSH 使用系統(tǒng)全局以及用戶指定(用戶自定義)的配置文件。在本文中,我們將介紹如何創(chuàng)建一個(gè)自定義的 ssh 配置文件,并且通過特定的選項(xiàng)來(lái)連接到遠(yuǎn)程主機(jī)。

[[185647]]

SSH (指 SSH 客戶端)是一個(gè)用于訪問遠(yuǎn)程主機(jī)的程序,它使得用戶能夠 在遠(yuǎn)程主機(jī)上執(zhí)行命令。這是在登錄遠(yuǎn)程主機(jī)中的最受推崇的方法之一,因?yàn)槠湓O(shè)計(jì)目的就是在非安全網(wǎng)絡(luò)環(huán)境上為兩臺(tái)非受信主機(jī)的通信提供安全加密。

SSH 使用系統(tǒng)全局以及用戶指定(用戶自定義)的配置文件。在本文中,我們將介紹如何創(chuàng)建一個(gè)自定義的 ssh 配置文件,并且通過特定的選項(xiàng)來(lái)連接到遠(yuǎn)程主機(jī)。

先決條件:

  1. 你必須 在你的桌面 Linux 上安裝好 OpenSSH 客戶端。
  2. 了解通過 ssh 進(jìn)行遠(yuǎn)程連接的常用選項(xiàng)。

SSH 客戶端配置文件

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

  1. /etc/ssh/ssh_config 為默認(rèn)的配置文件,屬于系統(tǒng)全局配置文件,包含應(yīng)用到所有用戶的 ssh 客戶端的設(shè)置。
  2. ~/.ssh/config 或者 $HOME/.ssh/config 為用戶指定/自定義配置文件,這個(gè)文件中的配置只對(duì)指定的用戶有效,因此,它會(huì)覆蓋掉默認(rèn)的系統(tǒng)全局配置文件中的設(shè)置。這也是我們要?jiǎng)?chuàng)建和使用的文件。

默認(rèn)情況下,用戶是通過在 ssh 中輸入密碼來(lái)獲取驗(yàn)證的,你可以以一個(gè)簡(jiǎn)單的步驟來(lái) 使用 Keygen 來(lái)設(shè)置 ssh 無(wú)密碼登錄。

注:如果你的系統(tǒng)上不存在 ~/.ssh 目錄,那就手動(dòng)創(chuàng)建它,并設(shè)置如下權(quán)限:

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

以上的 chmod 命令表明,只有目錄屬主對(duì)該目錄有讀取、寫入和執(zhí)行權(quán)限,這也是 ssh 所要求的設(shè)置。

如何創(chuàng)建用戶指定的 SSH 配置文件

該文件并不會(huì)被默認(rèn)創(chuàng)建的,所以你需要使用具有讀取/寫入權(quán)限的用戶來(lái)創(chuàng)建它。

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

上述文件包含由特定主機(jī)定義的各個(gè)部分,并且每個(gè)部分只應(yīng)用到主機(jī)定義中相匹配的部分。

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

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

如上格式詳解:

  1. Host host1 為關(guān)于 host1 的頭部定義,主機(jī)相關(guān)的設(shè)置就從此處開始,直到下一個(gè)頭部定義 Host host2 出現(xiàn),這樣形成一個(gè)完整的定義。
  2. host1 和 host2 是在命令行中使用的主機(jī)別名,并非實(shí)際的遠(yuǎn)程主機(jī)名。
  3. 其中,如 sshoption1=value1、sshoption2=value1 value2 等配置選項(xiàng)將應(yīng)用到相匹配的主機(jī),可以縮進(jìn)以看起來(lái)更整齊些。
  4. 對(duì)于 ssh_option2=value1 value2 這樣的選項(xiàng),ssh 執(zhí)行時(shí)會(huì)按照順序優(yōu)先使用 value1 的值。
  5. 頭部定義 Host * (其中 * 為匹配模式/通配符,匹配零個(gè)或多個(gè)字符) 會(huì)匹配零個(gè)或者多個(gè)主機(jī)。

仍舊以上述的格式為例,ssh 也是也這樣的形式類讀取配置文件的。如果你執(zhí)行 ssh 命令來(lái)訪問遠(yuǎn)程主機(jī) host1,如下:

  1. $ ssh host1 

以上 ssh 命令會(huì)進(jìn)行一下動(dòng)作:

  1. 匹配配置文件中主機(jī)別名 host1,并使用頭部定義中的各個(gè)設(shè)置項(xiàng)。
  2. 繼續(xù)匹配下一個(gè)主機(jī)定義,然后發(fā)現(xiàn)命令行中提供的主機(jī)名沒有匹配的了,所以接下來(lái)的各個(gè)設(shè)置項(xiàng)會(huì)被略過。
  3. ***執(zhí)行到***一個(gè)主機(jī)定義 Host *, 這會(huì)匹配所有的主機(jī)。這里,會(huì)將接下來(lái)的所有設(shè)置選項(xiàng)應(yīng)用到所有的主機(jī)連接中。但是它不會(huì)覆寫之前已經(jīng)有主機(jī)定義的那些選項(xiàng)。
  4. ssh host2 與此類似。

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

在你理解了 ssh 客戶端配置文件的工作方式之后,你可以通過如下方式來(lái)創(chuàng)建它。記得使用你的服務(wù)器環(huán)境中對(duì)應(yīng)的選項(xiàng)、值 (主機(jī)別名、端口號(hào)、用戶名等)。

通過你最喜歡的編輯器來(lái)打開配置文件:

  1. $ vi ~/.ssh/config 

并定義必要的部分:

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

以上 ssh 配置文件的詳細(xì)解釋:

  1. HostName - 定義真正要登錄的主機(jī)名,此外,你也可以使用數(shù)字 IP 地址,不管是在命令行或是 HostName 定義中都允許使用其中任一種。
  2. User – 指定以哪一個(gè)用戶來(lái)登錄。
  3. Port – 設(shè)置連接遠(yuǎn)程主機(jī)的端口,默認(rèn)是 22 端口。但必須是遠(yuǎn)程主機(jī)的 sshd 配置文件中定義的端口號(hào)。
  4. Protocol – 這個(gè)選項(xiàng)定義了優(yōu)先使用 ssh 支持的協(xié)議版本。常用的值為 ‘1’ 和 ‘2’,同時(shí)使用兩個(gè)協(xié)議版本則必須使用英文逗號(hào)隔開。
  5. IdentityFile – 指定一個(gè)用于讀取用戶 DSA、Ed25519、ECDSA 等授權(quán)驗(yàn)證信息的文件。
  6. ForwardX11 – 定義 X11 連接是否自動(dòng)重定向到安全通道和 DISPLAY 設(shè)置。有兩個(gè)可以設(shè)置的值,即 yes 或 no。
  7. Compression – 默認(rèn)值為 no,如果設(shè)置為 yes,則在連接遠(yuǎn)程主機(jī)過程中使用壓縮進(jìn)行傳輸。
  8. ServerAliveInterval – 設(shè)置當(dāng)沒有收到服務(wù)器響應(yīng) (或者數(shù)據(jù)))時(shí)的超時(shí)時(shí)間,單位為秒,ssh 會(huì)通過加密信道發(fā)送信息,請(qǐng)求服務(wù)器響應(yīng)。默認(rèn)值為 0,這意味著 ssh 不會(huì)向服務(wù)器發(fā)送響應(yīng)請(qǐng)求;如果定義了 BatchMode 選項(xiàng),則默認(rèn)是 300 秒。
  9. ServerAliveCountMax – 設(shè)置服務(wù)器在沒有接收到服務(wù)器的任何響應(yīng)時(shí),由服務(wù)器發(fā)送的活動(dòng)信息數(shù)量。
  10. LogLevel – 定義 ssh 登錄信息的的日志冗余級(jí)別。允許的值為:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG、DEBUG1、DEBUG2 和 DEBUG3,默認(rèn)為 INFO。

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

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

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

  1. $ ssh centos7 

你也可以在 man 幫助頁(yè)面尋找更多的設(shè)置選項(xiàng)和使用實(shí)例:

  1. $man ssh_config 

至此,文畢。我們?cè)谖闹邢蚰憬榻B了在 Linux 中如何使用用戶指定 (自定義) 的 ssh 客戶端配置文件。通過下方的反饋表單來(lái)寫一些與本文的相關(guān)的想法吧。

作者簡(jiǎn)介:

Aaron Kili 是一名 Linux 和 F.O.S.S 忠實(shí)擁護(hù)者、高級(jí) Linux 系統(tǒng)管理員、Web 開發(fā)者,目前在 TecMint 是一名活躍的博主,熱衷于計(jì)算機(jī)并有著強(qiáng)烈的只是分享意愿。

譯者簡(jiǎn)介:

GHLandy —— 生活中所有歡樂與苦悶都應(yīng)藏在心中,有些事兒注定無(wú)人知曉,自己也無(wú)從說(shuō)起。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2009-08-17 08:22:53

linuxssh遠(yuǎn)程登錄

2011-03-25 09:35:07

2015-10-21 11:03:21

ssh登錄Linux

2017-03-17 11:30:04

LinuxSSH目錄

2019-10-09 16:50:48

SSHLinux遠(yuǎn)程系統(tǒng)

2013-11-20 10:56:07

2022-03-11 13:28:54

SSHLinux命令

2024-01-26 07:58:09

2022-07-14 08:00:00

CockpitLinux工具

2010-03-10 11:31:31

2009-09-02 15:08:47

2010-03-10 16:16:53

Linux ssh無(wú)密

2010-03-10 16:47:53

2011-08-22 16:23:29

2017-03-03 09:19:53

SSH命令服務(wù)器

2021-08-28 17:30:51

LinuxSSH

2010-02-03 09:15:09

Linux XDMCP

2015-05-22 08:59:38

2011-09-15 17:30:55

ubuntuSSH

2013-06-09 10:06:02

Linux Mint Linux Mint
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)