0%

SSH

前言

簡介目前用過的參數和常見 QA

StrictHostKeyChecking

  • 第一次連線:

    1
    2
    3
    The authenticity of host '104.199.244.213 (104.199.244.213)' can't be established.
    ECDSA key fingerprint is SHA256:vZR8KPVmwwnJM8DHUmKBoE8jYZ06atogBr4YW6aN424.
    Are you sure you want to continue connecting (yes/no)? yes

    若要自動化連線無法輸入 yes,可以設定 -o StrictHostKeyChecking=no
    StrictHostKeyChecking 的三個參數

    no ask(default) yes
    不會檢查,直接連線+存 使用者 yes 才連線+存 known_hosts 一定要有該公鑰才連線
  • 連線後:
    自動將遠端的 public key 放進~/.ssh/known_hosts

    若不將公鑰記下,可以設定 UserKnownHostsFile:-o UserKnownHostsFile=/dev/null
    如此,當遠端公要改變,本地端因為沒有記,所以不受影響,不需要更改。

  • 完整自動化 ssh 連線指令:ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ~/.ssh/google_compute_engine sarahcheng@104.199.244.213

    -i 指定的私鑰
    FreeBSD Manual Pages

Q1. Host key verification failed.

-o StrictHostKeyChecking=no

拿掉 passphrase 或 重設

  1. 在自己本機: ssh-keygen -p
  2. 輸入舊的 passphrase
  3. 新的 passphrase 直接 enter 跳過
  4. 確認新的 passphrase,再 enter 跳過一次