Azure cliを介してWindows 10からLinuxにファイルを転送しますか?

Azure cliを介してWindows 10からLinuxにファイルを転送しますか?

Windows 10仮想マシンがあり、AzureのLinuxマシンにファイルを転送したいと思います。

インストールしましたAADSSHログインAzureポータルを介してLinuxマシンから拡張します。 Windows 10にインストールされているAzure CLIを介してSSH接続を確認するために、次のようにLinuxシステムに接続しました.

az login
az ssh vm --ip 10.11.11.11

正常にWindows 10でpowershellを介してLinuxでファイルを転送しようとしました。

scp file.sh [email protected]:/opt/Linux/

パスワードを求められますが、動作しません。リンク後にファイルを転送するには、Azure cliコマンドを使用する必要があるという印象を受けました。ログイン、検索してみました。コピーしかし、これは正しくないようです。

Powershellでこれを行うと、次の結果が表示されます。

ssh [email protected]@10.11.11.11

それは私に言う:権限が拒否されました(公開鍵)

しかし、これを行うと:

az ssh vm --ip 10.11.11.11

入ることができます!

どうすればいいですか?私は何を見逃していますか?

ベストアンサー1

az scpAzure CLIはファイル転送を直接サポートしておらず、コマンドはありませんaz ssh scp。ただし、OpenSSHベースのアプリケーションを間接的にサポートしています。

まず、次のコマンドを実行してください。

az ssh config --ip * --file ./azure-sshconfig --keys-destination-folder ./azure-keys

これaz ssh config注文するOpenSSHスタイルの構成を含むフォルダとAzure VMにアクセスするためのキーを含むローカルazure-sshconfigファイルが作成されます。azure-keysこの記事を書いた時点では、キーの寿命は限られており、1時間後に期限切れになり、設定できないようです。

設定とキーがある場合scpなど、他のOpenSSHユーティリティを使用できますsftp。このユーティリティはすべて-F ./azure-sshconfigパラメータを使用して一時キーを使用するように指示します。

scp -F ./azure-sshconfig <local file> <vm name>:~/temp

rsync渡して動作させることも可能です(例えばWSLから)--rsh 'ssh -F ./azure-sshconfig'。この場合、パラメータrsyncは直接許可されませんが、完全に上書き-F sshconfigできます。sshまだ試していませんが、うまくいきます。

おすすめ記事