Skip to content

Latest commit

 

History

History
61 lines (37 loc) · 4.22 KB

ssh.md

File metadata and controls

61 lines (37 loc) · 4.22 KB

SSH (Secure SHell)

  • SSH 是個加密通訊協定,最常見的應用是登入遠方的電腦 - 主要是 Unix-like OS,而 2015 年 Microsoft 宣稱未來會原生支援 SSH。
  • SSH 在不安全的網路上提供一個安全通道 (secure channel),走 SSH client -> SSH server 的 client-server 架構,目前協定有 SSH-1 與 SSH-2 兩個版本。
  • SSH 被設計用來取代 Telnet 或其他不安全的協定,例如 rlogin、rsh、rexec 等。

參考資料:

SSH 跟 SSL 是什麼關係?

Windows 支援 SSH 嗎?

SSH 的驗證機制?

  • SSH 有兩種用法:
    • 用自動產生的 public-private key pairs 對連線進行加密,然後用密碼 (password authentication) 登入;除非之前沒有連線過 (會記住 server-side key),否則要小心連到假的 server,不小心交出密碼
    • 用手動產生的 public-private key paris 進行驗證 (可以用 ssh-keygen 產生),不需要密碼就能登入,當然 private key 本身可能有密碼 (passhrase) 保護。public key 放在所有允許被存取的電腦上,而 private key 則由 ower 保存,SSH 只會驗證登入端是否持有對應的 private key。
  • 在 Unix-like 上,authorized public keys 會放在 ~/.ssh/authorized_keys,SSH 在該檔案只能被 owner & root 寫入時才會參考它的內容,所以通常會設成 600。

參考資料:

Fingerprint ??

SSH Agent ??

如何為不同的 host 指定不同的 private key?

  • ssh 的 man page 看到 -i identity_file 可以指定 identity (private key),SSH-1 預設採用 ~/.ssh/identity,SSH-2 則預設用 ~/.ssh/id_dsa~/.ssh/id_rsa
  • Man page 還提到 configuration file 裡可以用 per-host basis 指定 private key?

Host Key ??

參考資料 {: #reference }

更多:

相關: