ローカルPCからBasion経由からAzure上のVMへscpを行う方法

西村 文宏 0 評価のポイント
2026-07-20T01:55:04.43+00:00

Azure上にVMとBastionを構成しています。

ローカルPCからBasion経由でVMへscpを考えています。

必要なNSGのポートはすべて空けました。NSGはsubnetに付与しています。

ローカルPCで下記コマンドでトンネルはできています。

az network bastion tunnel --name <Bastion名> --resource-group <Bastionのリソースグループ> --target-resource-id "/subscriptions/<SubscriptionID>/resourceGroups/<RG名>/providers/Microsoft.Compute/virtualMachines/<VM名>" --resource-port 22 ` --port 822

そしてローカルで下記を実行しましたが、レスポンスが返ってきません。

scp -P 822 C:\work\sample.zip <ユーザー名>@127.0.0.1:/home/<ユーザー名>/

Bastionには届いていますが、BasionからVMへ届いてないようです。

必要なポートはすべてあけているのですが、考えられる原因をご教示ください

ビジネス向け Windows | Windows Server | Windows クラウド | その他
0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Jason Nguyen Tran 27,210 評価のポイント 独立アドバイザー
    2026-07-20T02:51:20.4166667+00:00

    こんにちは。

    Azure Bastion トンネル経由で SCP を使用する際、このような動作は比較的よく見られます。これは、Bastion が対話型の SSH セッションと同じようには SCP トラフィックをネイティブにプロキシしないためです。NSG のポートを開放し、トンネルを作成していても、トンネルが正しくバインドされていない場合や、VM の SSH デーモンが転送先ポートでの接続を受け付けるように構成されていない場合は、SCP が VM に到達できないことがあります。

    以下の点をご確認ください。

    • SCP を実行する前に、Bastion トンネルがアクティブであり、127.0.0.1:822 で待ち受けていることを確認してください。
    • VM の SSH サービスが起動しており、内部的にポート 22 でアクセス可能であることを確認してください。
    • scp -P 822 を使用し、VM に設定されている正しいユーザー名を指定してください。また、転送先のホームディレクトリのパスが存在することも確認してください。
    • SCP が引き続き失敗する場合は、まず ssh -p 822 <username>@127.0.0.1 を実行し、トンネル経由で正常に接続できるか確認してください。SSH は成功するのに SCP のみ失敗する場合は、多くの場合、コマンド内のパスの解決方法に問題があります。
    • 大容量ファイルを転送する場合は、Bastion トンネル経由の SFTP を利用することもご検討ください。一般的に、こちらの方が安定して動作する傾向があります。

    この回答がお役に立てば幸いです。もし参考になりましたら、「Accept answer」をクリックしていただけると、この回答がお役に立ったことが分かります。

    Jason

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。