SSH Config教程之基礎知識介紹-必備技巧
SSH(Secure Shell)是什麼?是一項建立在應用層和傳輸層基礎上的安全協議,為計算機上的 Shell(殼層)提供安全的傳輸和使用環境。也是專為遠端登入會話和其他網路服務提供安全性的協議。它能夠有效防止遠端管理過程中的資訊洩露問題。透過 SSH 可以對所有傳輸的資料進行加密,也能夠防止 DNS 欺騙和 IP 欺騙。
SSH Config Editor Pro for Mac(SSH配置檔案管理器) 2.0版
透過對 ~/.ssh/config 檔案的配置你可以大大簡化 SSH 相關的操作,如:
透過執行 $ ssh example 我就可以登入我的伺服器。而不需要敲更多的命令 $ ssh root@example.com。又如我們想要向伺服器傳檔案 $ scp a.txt example:/home/user_name。比以前方便多了。
配置項說明
SSH 的配置檔案有兩個:
下面來看看常用的配置引數。
Host
用於我們執行 SSH 命令的時候如何匹配到該配置。
AddKeysToAgent
是否自動將 key 加入到 ssh-agent,值可以為 no(default)/confirm/ask/yes。
如果是 yes,key 和密碼都將讀取檔案並以加入到 agent ,就像 ssh-add。其他分別是詢問、確認、不加入的意思。新增到 ssh-agent 意味著將私鑰和密碼交給它管理,讓它來進行身份認證。
AddressFamily
指定連線的時候使用的地址族,值可以為 any(default)/inet(IPv4)/inet6(IPv6)。
BindAddress
指定連線的時候使用的本地主機地址,只在系統有多個地址的時候有用。在 UsePrivilegedPort 值為 yes 的時候無效。
ChallengeResponseAuthentication
是否響應支援的身份驗證 chanllenge,yes(default)/no。
Compression
是否壓縮,值可以為 no(default)/yes。
CompressionLevel
壓縮等級,值可以為 1(fast)-9(slow)。6(default),相當於 gzip。
ConnectionAttempts
退出前嘗試連線的次數,值必須為整數,1(default)。
ConnectTimeout
連線 SSH 伺服器超時時間,單位 s,預設系統 TCP 超時時間。
ControlMaster
是否開啟單一網路共享多個 session,值可以為 no(default)/yes/ask/auto。需要和 ControlPath 配合使用,當值為 yes 時,ssh 會監聽該路徑下的 control socket,多個 session 會去連線該 socket,它們會盡可能的複用該網路連線而不是重新建立新的。
ControlPath
指定 control socket 的路徑,值可以直接指定也可以用一下引數代替:
%L 本地主機名的第一個元件
%l 本地主機名(包括域名)
%h 遠端主機名(命令列輸入)
%n 遠端原始主機名
%p 遠端主機埠
%r 遠端登入使用者名稱
%u 本地 ssh 正在使用的使用者名稱
%i 本地 ssh 正在使用 uid
%C 值為 %l%h%p%r 的 hash
請最大限度的保持 ControlPath 的唯一。至少包含 %h,%p,%r(或者 %C)。
ControlPersist
結合 ControlMaster 使用,指定連線開啟後後臺保持的時間。值可以為 no/yes/整數,單位 s。如果為 no,最初的客戶端關閉就關閉。如果 yes/0,無限期的,直到殺死或透過其它機制,如:ssh -O exit。
GatewayPorts
指定是否允許遠端主機連線到本地轉發埠,值可以為 no(default)/yes。預設情況,ssh 為本地迴環地址繫結了埠轉發器。
HostName
真實的主機名,預設值為命令列輸入的值(允許 IP)。你也可以使用 %h,它將自動替換,只要替換後的地址是完整的就 ok。
IdentitiesOnly
指定 ssh 只能使用配置檔案指定的 identity 和 certificate 檔案或透過 ssh 命令列透過身份驗證,即使 ssh-agent 或 PKCS11Provider 提供了多個 identities。值可以為 no(default)/yes。
IdentityFile
指定讀取的認證檔案路徑,允許 DSA,ECDSA,Ed25519 或 RSA。值可以直接指定也可以用一下引數代替:
%d,本地使用者目錄
%u,本地使用者
%l,本地主機名
%h,遠端主機名
%r,遠端使用者名稱
LocalCommand
指定在連線成功後,本地主機執行的命令(單純的本地命令)。可使用 %d,%h,%l,%n,%p,%r,%u,%C 替換部分引數。只在 PermitLocalCommand 開啟的情況下有效。
LocalForward
指定本地主機的埠透過 ssh 轉發到指定遠端主機。格式:LocalForward [bind_address:]post host:hostport,支援 IPv6。
PasswordAuthentication
是否使用密碼進行身份驗證,yes(default)/no。
PermitLocalCommand
是否允許指定 LocalCommand,值可以為 no(default)/yes。
Port
指定連線遠端主機的哪個埠,22(default)。
ProxyCommand
指定連線的伺服器需要執行的命令。%h,%p,%r
如:ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
User
登入使用者名稱
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956340/viewspace-2736096/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OpenStack必備基礎知識
- Epub基礎知識介紹
- day04 必備基礎知識
- 資料庫開發必備知識介紹資料庫
- Django基礎教程之介紹Django
- 資料庫基礎知識介紹!資料庫
- 機器學習基礎知識梳理,新手必備!(附連結)機器學習
- Python 面試必備基礎知識-1Python面試
- Python 必備面試基礎知識-3Python面試
- 效能測試必備基礎知識(二)
- 程式必備區塊鏈基礎知識區塊鏈
- Python 基礎(一):入門必備知識Python
- 學習網路BGP必備基礎知識
- 程式猿必備的Linux基礎知識Linux
- 關於mysql基礎知識的介紹MySql
- Java基礎知識篇——Java基本介紹Java
- 網路基礎必備知識
- Java初學者必備4大核心基礎知識Java
- Html與css基礎知識介紹(必看篇)HTMLCSS
- JVM必備基礎知識(三)-- GC垃圾回收機制JVMGC
- 多執行緒面試必備基礎知識彙總執行緒面試
- 前後端必備Linux基礎知識大科普後端Linux
- Python基礎知識之常用框架Flask介紹!Python框架Flask
- Java 基礎知識點(必知必會其一)Java
- 必備知識
- Nmap掃描教程之Nmap基礎知識
- JVM必備基礎知識(一) -- 類的載入機制JVM
- CSS基礎知識簡介CSS
- 菜鳥請教rbac的基礎知識
- 【Xtrabackup】Xtrabackup備份基礎知識
- MySQL必知必會筆記——查詢的基礎知識MySql筆記
- 學習網路安全,這些必備基礎知識不能少!
- t-io網路程式設計基礎知識介紹程式設計
- 第二章 環境搭建及基礎知識介紹
- Lustre架構介紹的閱讀筆記-基礎知識架構筆記
- 零基礎如何學好大資料?必備需要學習知識大資料
- Web前端必備基礎知識點,百萬程式設計師:牛逼!Web前端程式設計師
- 前端&後端程式設計師必備的Linux基礎知識前端後端程式設計師Linux