![Azure cli를 통해 Windows 10에서 Linux로 파일을 전송하시겠습니까?](https://linux55.com/image/202984/Azure%20cli%EB%A5%BC%20%ED%86%B5%ED%95%B4%20Windows%2010%EC%97%90%EC%84%9C%20Linux%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%A0%84%EC%86%A1%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
Windows 10 가상 머신이 있고 Azure의 Linux 머신으로 파일을 전송하고 싶습니다.
설치했습니다AADSSH 로그인Azure Portal을 통해 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 scp
Azure 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
이 글을 쓰는 시점에서는 키의 수명이 제한되어 있으며 한 시간 후에 만료되며 이를 구성할 수 없는 것으로 보입니다.
구성과 키가 있으면 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
아직 시도하지는 않았지만 작동할 것입니다.