日々の開発や保守業務でサーバにSSH接続する際、「鍵認証ではなくパスワードでログインしたい」「毎回の接続コマンドが長くて不便」と感じたことはありませんか?
この記事では、パスワード認証を優先して使うSSH接続方法と、vi
エディタで設定ファイルを整えて、コマンド1つで接続できるようにする方法を紹介します。
使用環境
- 使用端末:macOS(例:MacBook Air)
- 接続先ホスト名:
server.example.com
- ポート番号:
22022
- SSHユーザー名:
remoteuser
- 接続方式:パスワード認証
1. 通常のSSH接続コマンド
パスワード認証を明示的に指定する場合、以下のようなオプション付きコマンドを使用します。
ssh -o IdentitiesOnly=yes -o PreferredAuthentications=password -p 22022 remoteuser@server.example.com
各オプションの意味
オプション | 説明 |
---|---|
-p 22022 | SSH接続に使うカスタムポート |
IdentitiesOnly=yes | ローカルにある他の鍵ファイルを使用せず、明示された手段のみ使用 |
PreferredAuthentications=password | パスワード認証を最優先に試みる |
2. .ssh/config を vi で編集する
このような長いコマンドを毎回打つ代わりに、SSHの設定ファイルに記述しておけば簡単に接続できます。
手順
1. ターミナルで設定ファイルを開く
vi ~/.ssh/config
2. 挿入モードに切り替え(i キー)
以下の設定を入力:
Host myserver
HostName server.example.com
User remoteuser
Port 22022
IdentitiesOnly yes
PreferredAuthentications password
3. 保存して終了
Esc
→ :wq
→ Enter
3. 簡単に接続する
設定後は、次のようにコマンド1つで接続できます。
ssh myserver
この方法で、他の鍵ファイルを自動的に試行されることなく、直接パスワード認証へと進みます。
エラー対策:「Too many authentication failures」
複数のSSH鍵を保持している場合、以下のようなエラーが出ることがあります。
Received disconnect: Too many authentication failures
これはSSHクライアントが自動的に複数の鍵を試して、サーバ側の失敗回数制限を超えたことが原因です。
この問題は IdentitiesOnly yes
によって確実に防ぐことができます。
鍵認証への移行も検討を
セキュリティと利便性をさらに高めたい場合、鍵認証への移行も選択肢のひとつです。以下のような手順で導入できます:
- 秘密鍵と公開鍵の作成(
ssh-keygen
) - 公開鍵のサーバ側への登録(
~/.ssh/authorized_keys
) config
ファイルへのIdentityFile
指定
こちらについては別記事で詳しく紹介予定です。
まとめ
設定項目 | 値 |
---|---|
Host | myserver |
HostName | server.example.com |
User | remoteuser |
Port | 22022 |
IdentitiesOnly | yes |
PreferredAuthentications | password |
.ssh/config
と vi
を使えば、毎回の接続作業が簡略化され、鍵の誤認識によるエラーも回避できます。パスワード認証が必要な環境でも、確実に・快適にアクセスできる設定を整えておきましょう。
コメント