タイトル: Missing target argument.
SEOタイトル: SSH の Missing target argument. エラーと対処
エラー内容
|
Missing target argument. |
発生条件
- SSH コマンド実行時に表示される
- 特に
~/.ssh/configを利用したホスト別名接続時に出やすい - OpenSSH クライアントが接続先ホスト名を解決できなかった状態
原因
| 原因 | 解説 |
|---|---|
| 接続先 (ターゲット) を省略 | ssh 単独で実行した |
| ssh_config のフォーマット崩れ | Host 行と他項目のインデント/キーが不正 |
| BOM 付き UTF-8 / 改行コード混在 | Windows で作成した config を持ち込んだ際に発生しやすい |
| オプションの引数取り違い | -o ProxyCommand=... の引数解釈で次のトークンが消費されている |
| シェルのエイリアス/関数で書き換え | 引数が空になって渡っている |
対処手順
1. 接続先を明示して実行
最低限、ホスト指定が必要です。
|
ssh user@example.com |
2. ssh_configの記述を見直す
~/.ssh/config の典型的なフォーマットは以下のとおりです。各設定行はインデント、Host 行は左端から始める運用が安全です。
|
Host prod |
よくある間違い:
Host:のようにコロンを付けてしまう (正しくはHost prod)HostNameが空欄- 引用符の中にスペースが混じり値が分割される
- 同じ
Host prodブロックが複数あり、先勝ち/後勝ちで意図と違う設定が読み込まれる
3. 設定の解釈結果を確認
-G オプションで、特定ホストに対する実効設定を確認できます。
|
ssh -G prod | head # 解釈後の設定 |
4. ファイルのエンコーディング/改行コード確認
- UTF-8 (BOM なし) に統一する
- 改行コードは LF (Unix系) が安全。Windows から持ち込んだ CRLF は
dos2unix等で変換 - 非 ASCII 文字 (全角スペース等) が紛れていないか確認
5. ファイルのパーミッション
パーミッションが緩いと OpenSSH 側で警告が出るので、念のため整えます。
|
chmod 700 ~/.ssh |
関連エラー
Bad configuration option— config 内のキー名が不正Could not resolve hostname— HostName が解決できないPermission denied (publickey)— 認証エラー (config 自体は読めている)
関連
- 親カテゴリ: エラー一覧 (SSH)
- SSH本体: SSH