March 5, 2025

SSH接続時にパスワード認証を強制する

この文書について

SSH接続では公開鍵認証が推奨だけど、色々な理由でパスワード認証で接続したくなったときに。
※ サーバー側でパスワード認証が許可されている場合に限る

コマンドラインからオプションで一時的に

コマンドラインから1回使うだけならこんな感じ

ssh -o PreferredAuthentications=password <user name>@<host name or IP address>
# 例:
ssh -o PreferredAuthentications=password nissy@192.168.100.10

ssh_configで恒久的に

ssh_configに書いて毎回使うならこんな感じ

Host hoge
  User                     nissy
  HostName                 192.168.100.10
  PreferredAuthentications password

サーバー側でパスワード認証を禁止されていると接続できない

PreferredAuthentications は認証試行の優先順位を変えるオプションなのでカンマ区切りで順番を書くこともできるけど、1つしか書かなければそれしか試さないので、結果的にパスワード認証を強制できる。

試行の順位を変えるだけなので、サーバー側でパスワード認証を禁止 ( PasswordAuthentication no ) されていると接続できない。

補足:Preferred (プリファード)の意味

好まれる、選ばれる、優先される
https://www.weblio.jp/content/preferred

© 2020 nissy-lab.com