az ssh

참고 항목

이 참조는 Azure CLI(버전 2.45.0 이상)에 대한 ssh 확장의 일부입니다. az ssh 명령을 처음 실행할 때 확장이 자동으로 설치됩니다. 확장 프로그램에 대해 자세히 알아보세요.

AAD에서 발급한 openssh 인증서를 사용하여 리소스(Azure VM, Arc 서버 등)에 SSH합니다.

Azure Virtual Machines에 공용 IP 주소 또는 SSH를 요구하지 않고 Arc 지원 서버로 SSH합니다. AAD에서 발급한 인증용 openssh 인증서는 현재 Linux에서만 지원됩니다.

명령

Name Description 형식 상태
az ssh arc

Azure Arc Server에 대한 SSH.

내선 번호 GA
az ssh cert

AAD에서 서명한 SSH RSA 인증서를 만듭니다.

내선 번호 GA
az ssh config

리소스(Azure VM, Arc Server 등)에 대한 SSH 구성을 만든 다음 OpenSSH 구성 및 인증서를 지원하는 클라이언트에서 사용할 수 있습니다.

내선 번호 GA
az ssh vm

Azure VM 또는 Arc Server에 SSH합니다.

내선 번호 GA

az ssh arc

Azure Arc Server에 대한 SSH.

사용자는 AAD 발급 인증서를 사용하거나 로컬 사용자 자격 증명을 사용하여 로그인할 수 있습니다. AAD 발급 인증서를 사용하여 로그인하는 것이 좋습니다. 로컬 사용자 자격 증명을 사용하여 SSH하려면 --local-user 매개 변수를 사용하여 로컬 사용자 이름을 제공해야 합니다.

az ssh arc [--certificate-file]
           [--local-user]
           [--name]
           [--port]
           [--private-key-file]
           [--public-key-file]
           [--rdp]
           [--resource-group]
           [--resource-type]
           [--ssh-client-folder]
           [--ssh-proxy-folder]
           [--yes]
           [<SSH_ARGS>]

예제

AAD 발급 인증서를 사용하여 SSH에 리소스 그룹 이름 및 컴퓨터 이름 지정

az ssh arc --resource-group myResourceGroup --name myMachine

사용자 지정 프라이빗 키 파일 사용

az ssh arc --resource-group myResourceGroup --name myMachine --private-key-file key --public-key-file key.pub

추가 ssh 인수 사용

az ssh arc --resource-group myResourceGroup --name myMachine -- -A -o ForwardX11=yes

인증서 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine --certificate-file cert.pub --private-key-file key

키 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine --private-key-file key

암호 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine

ssh-keygen.exe 및 ssh.exe와 같은 해당 폴더의 ssh 실행 파일을 사용하도록 SSH 클라이언트 폴더를 제공합니다. 제공되지 않은 경우 확장은 미리 설치된 OpenSSH 클라이언트를 사용하려고 시도합니다(Windows의 경우 확장은 C:\Windows\System32\OpenSSH에서 미리 설치된 실행 파일을 찾습니다).

az ssh arc --resource-group myResourceGroup --name myMachine --ssh-client-folder "C:\Program Files\OpenSSH"

SSH를 통해 RDP 연결을 엽니다. 공용 IP 주소가 없는 Arc Server에 RDP를 통해 연결하는 데 유용합니다. 현재 Windows 클라이언트에 대해서만 지원됩니다.

az ssh arc --resource-group myResourceGroup --name myVM --local-user username --rdp

선택적 매개 변수

--certificate-file -c

인증서 파일의 경로입니다.

--local-user

로컬 사용자의 사용자 이름입니다.

--name --vm-name -n

Arc Server의 이름입니다.

--port

원격 호스트에 연결할 포트입니다.

--private-key-file -i

RSA 프라이빗 키 파일 경로입니다.

--public-key-file -p

RSA 공개 키 파일 경로입니다.

--rdp --winrdp

SSH를 통해 RDP 연결을 시작합니다.

기본값: False
--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

--resource-type

리소스 종류는 Microsoft.HybridCompute/machines 또는 Microsoft여야 합니다. 커넥트edVMwareSphere/virtualMachines.

--ssh-client-folder

ssh 실행 파일(ssh.exe, ssh-keygen.exe 등)이 포함된 폴더 경로입니다. 제공되지 않은 경우 ssh가 미리 설치된 기본값입니다.

--ssh-proxy-folder

ssh 프록시를 저장해야 하는 폴더의 경로입니다. 기본값은 제공되지 않은 경우 사용자의 홈 디렉터리에 있는 .clientsshproxy 폴더입니다.

--yes --yes-without-prompt -y

사용자에게 메시지를 표시하지 않고 서비스 구성을 업데이트합니다.

기본값: False
<SSH_ARGS>

OpenSSH에 전달된 추가 인수입니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

az ssh cert

AAD에서 서명한 SSH RSA 인증서를 만듭니다.

az ssh cert [--file]
            [--public-key-file]
            [--ssh-client-folder]

예제

AAD에서 서명한 수명이 짧은 ssh 인증서 만들기

az ssh cert --public-key-file ./id_rsa.pub --file ./id_rsa-aadcert.pub

ssh-keygen.exe와 같이 해당 폴더의 ssh 실행 파일을 사용하도록 SSH 클라이언트 폴더를 제공합니다. 제공되지 않은 경우 확장은 미리 설치된 OpenSSH 클라이언트를 사용하려고 시도합니다(Windows의 경우 확장은 C:\Windows\System32\OpenSSH에서 미리 설치된 실행 파일을 찾습니다).

az ssh cert --file ./id_rsa-aadcert.pub --ssh-client-folder "C:\Program Files\OpenSSH"

선택적 매개 변수

--file -f

SSH 인증서를 쓸 파일 경로로, 기본적으로 -aadcert.pub가 추가된 공개 키 경로로 설정됩니다.

--public-key-file -p

RSA 공개 키 파일 경로입니다. 제공되지 않은 경우 생성된 키 쌍은 --file과 동일한 디렉터리에 저장됩니다.

--ssh-client-folder

ssh 실행 파일(ssh.exe, ssh-keygen.exe 등)이 포함된 폴더 경로입니다. 제공되지 않은 경우 ssh가 미리 설치된 기본값입니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

az ssh config

리소스(Azure VM, Arc Server 등)에 대한 SSH 구성을 만든 다음 OpenSSH 구성 및 인증서를 지원하는 클라이언트에서 사용할 수 있습니다.

SSH 명령 설정을 지원하는 다른 소프트웨어(git/rsync/etc)는 명령을 'ssh -F /path/to/config'(예: rsync -e 'ssh -F /path/to/config')로 설정하여 구성 파일을 사용하도록 설정할 수 있습니다. 사용자는 AAD 발급 인증서 또는 로컬 사용자 자격 증명을 사용하는 ssh 구성 파일을 만들 수 있습니다.

az ssh config --file
              [--certificate-file]
              [--ip]
              [--keys-dest-folder]
              [--local-user]
              [--name]
              [--overwrite]
              [--port]
              [--prefer-private-ip]
              [--private-key-file]
              [--public-key-file]
              [--resource-group]
              [--resource-type]
              [--ssh-client-folder]
              [--ssh-proxy-folder]
              [--yes]

예제

AAD 발급 인증서를 사용하여 구성을 만들고 로컬 파일에 저장한 다음 해당 리소스에 ssh할 리소스 그룹 및 컴퓨터 이름을 지정합니다.

az ssh config --resource-group myResourceGroup --name myVm --file ./sshconfig
ssh -F ./sshconfig myResourceGroup-myVM

구성을 만든 다음 해당 VM에 ssh할 Azure VM의 공용 IP(또는 호스트 이름)를 제공합니다.

az ssh config --ip 1.2.3.4 --file ./sshconfig
ssh -F ./sshconfig 1.2.3.4

로컬 사용자에게 로컬 사용자 자격 증명을 사용하여 구성을 만들고, 로컬 파일에 저장한 다음, 해당 리소스에 ssh하도록 합니다.

az ssh config --resource-group myResourceGroup --name myMachine --local-user username --certificate-file cert --private-key-file key --file ./sshconfig
ssh -F ./sshconfig MyResourceGroup-myMachine-username

생성된 키와 인증서를 저장할 키 대상 폴더를 제공합니다. 제공되지 않은 경우 SSH 키는 구성 파일 옆에 있는 새 폴더 "az_ssh_config"에 저장됩니다.

az ssh config --ip 1.2.3.4 --file ./sshconfig --keys-destination-folder /home/user/mykeys

모든 호스트에서 사용할 제네릭 구성 만들기

#Bash
az ssh config --ip \* --file ./sshconfig
#PowerShell
az ssh config --ip * --file ./sshconfig

다른 소프트웨어의 예

#Bash
az ssh config --ip \* --file ./sshconfig
rsync -e 'ssh -F ./sshconfig' -avP directory/ myvm:~/directory
GIT_SSH_COMMAND="ssh -F ./sshconfig" git clone myvm:~/gitrepo

ssh-keygen.exe와 같이 해당 폴더의 ssh 실행 파일을 사용하도록 SSH 클라이언트 폴더를 제공합니다. 제공되지 않은 경우 확장은 미리 설치된 OpenSSH 클라이언트를 사용하려고 시도합니다(Windows의 경우 확장은 C:\Windows\System32\OpenSSH에서 미리 설치된 실행 파일을 찾습니다).

az ssh config --file ./myconfig --resource-group myResourceGroup --name myVM --ssh-client-folder "C:\Program Files\OpenSSH"

대상의 리소스 종류를 지정합니다. 동일한 리소스 그룹에 이름이 같은 Azure VM 및 Arc Server가 있는 경우에 유용합니다. 리소스 종류는 Arc Server용 "Microsoft.HybridCompute" 또는 Azure Virtual Machines의 경우 "Microsoft.Compute"일 수 있습니다.

az ssh config --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM --file ./myconfig

필수 매개 변수

--file -f

SSH 구성을 쓸 파일 경로입니다.

선택적 매개 변수

--certificate-file -c

인증서 파일의 경로입니다.

--ip

VM의 공용 IP 주소(또는 호스트 이름)입니다.

--keys-dest-folder --keys-destination-folder

새로 생성된 키가 저장되는 폴더입니다.

--local-user

로컬 사용자의 사용자 이름입니다.

--name --vm-name -n

VM의 이름입니다.

--overwrite

이 플래그가 설정된 경우 구성 파일을 덮어씁니다.

기본값: False
--port

SSH 포트.

--prefer-private-ip

사용 가능한 경우 개인 IP를 사용합니다. 기본적으로 공용 IP만 사용됩니다.

기본값: False
--private-key-file -i

RSA 프라이빗 키 파일 경로입니다.

--public-key-file -p

RSA 공개 키 파일 경로입니다.

--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

--resource-type

리소스 종류는 Microsoft.Compute/virtualMachines, Microsoft.HybridCompute/machines 또는 Microsoft여야 합니다. 커넥트edVMwareSphere/virtualMachines.

--ssh-client-folder

ssh 실행 파일(ssh.exe, ssh-keygen.exe 등)이 포함된 폴더 경로입니다. 제공되지 않은 경우 ssh가 미리 설치된 기본값입니다.

--ssh-proxy-folder

ssh 프록시를 저장해야 하는 폴더의 경로입니다. 기본값은 제공되지 않은 경우 사용자의 홈 디렉터리에 있는 .clientsshproxy 폴더입니다.

--yes --yes-without-prompt -y

사용자에게 메시지를 표시하지 않고 서비스 구성을 업데이트합니다.

기본값: False
전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

az ssh vm

Azure VM 또는 Arc Server에 SSH합니다.

사용자는 AAD 발급 인증서를 사용하거나 로컬 사용자 자격 증명을 사용하여 로그인할 수 있습니다. AAD 발급 인증서를 사용하여 로그인하는 것이 좋습니다. 로컬 사용자 자격 증명을 사용하여 SSH하려면 --local-user 매개 변수를 사용하여 로컬 사용자 이름을 제공해야 합니다.

az ssh vm [--certificate-file]
          [--hostname]
          [--local-user]
          [--name]
          [--port]
          [--prefer-private-ip]
          [--private-key-file]
          [--public-key-file]
          [--rdp]
          [--resource-group]
          [--resource-type]
          [--ssh-client-folder]
          [--ssh-proxy-folder]
          [--yes]
          [<SSH_ARGS>]

예제

AAD 발급 인증서를 사용하여 SSH에 리소스 그룹 이름 및 컴퓨터 이름 지정

az ssh vm --resource-group myResourceGroup --name myVM

AAD 발급 인증서를 사용하여 VM의 공용 IP(또는 호스트 이름)를 SSH에 제공합니다.

az ssh vm --ip 1.2.3.4
az ssh vm --hostname example.com

사용자 지정 프라이빗 키 파일 사용

az ssh vm --ip 1.2.3.4 --private-key-file key --public-key-file key.pub

추가 ssh 인수 사용

az ssh vm --ip 1.2.3.4 -- -A -o ForwardX11=yes

대상의 리소스 종류를 지정합니다. 동일한 리소스 그룹에 이름이 같은 Azure VM 및 Arc Server가 있는 경우에 유용합니다. 리소스 종류는 Arc Server용 "Microsoft.HybridCompute" 또는 Azure Virtual Machines의 경우 "Microsoft.Compute"일 수 있습니다.

az ssh vm --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM

인증서 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh vm --local-user username --ip 1.2.3.4 --certificate-file cert.pub --private-key-file key

키 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh vm --local-user username --resource-group myResourceGroup --name myVM --private-key-file key

암호 기반 인증을 사용하여 로컬 사용자 자격 증명을 사용하여 SSH에 로컬 사용자 이름을 지정합니다.

az ssh vm --local-user username --resource-group myResourceGroup --name myArcServer

ssh-keygen.exe 및 ssh.exe와 같은 해당 폴더의 ssh 실행 파일을 사용하도록 SSH 클라이언트 폴더를 제공합니다. 제공되지 않은 경우 확장은 미리 설치된 OpenSSH 클라이언트를 사용하려고 시도합니다(Windows의 경우 확장은 C:\Windows\System32\OpenSSH에서 미리 설치된 실행 파일을 찾습니다).

az ssh vm --resource-group myResourceGroup --name myVM --ssh-client-folder "C:\Program Files\OpenSSH"

SSH를 통해 RDP 연결을 엽니다. 공용 IP 주소가 없는 Arc Server에 RDP를 통해 연결하는 데 유용합니다. 현재 Windows 클라이언트에 대해서만 지원됩니다.

az ssh vm --resource-group myResourceGroup --name myVM --local-user username --rdp

선택적 매개 변수

--certificate-file -c

로컬 사용자 자격 증명을 사용할 때 인증에 사용되는 인증서 파일의 경로입니다.

--hostname --ip

VM의 공용(또는 연결할 수 있는 개인) IP 주소(또는 호스트 이름)입니다.

--local-user

로컬 사용자의 사용자 이름입니다.

--name --vm-name -n

VM의 이름입니다.

--port

SSH 포트.

--prefer-private-ip

개인 IP를 선호합니다. 개인 IP에 대한 연결이 필요합니다.

기본값: False
--private-key-file -i

RSA 프라이빗 키 파일 경로입니다.

--public-key-file -p

RSA 공개 키 파일 경로입니다.

--rdp --winrdp

SSH를 통해 RDP 연결을 시작합니다.

기본값: False
--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

--resource-type

리소스 종류는 Microsoft.Compute/virtualMachines, Microsoft.HybridCompute/machines 또는 Microsoft여야 합니다. 커넥트edVMwareSphere/virtualMachines.

--ssh-client-folder

ssh 실행 파일(ssh.exe, ssh-keygen.exe 등)이 포함된 폴더 경로입니다. 제공되지 않은 경우 ssh가 미리 설치된 기본값입니다.

--ssh-proxy-folder

ssh 프록시를 저장해야 하는 폴더의 경로입니다. 기본값은 제공되지 않은 경우 사용자의 홈 디렉터리에 있는 .clientsshproxy 폴더입니다.

--yes --yes-without-prompt -y

사용자에게 메시지를 표시하지 않고 서비스 구성을 업데이트합니다.

기본값: False
<SSH_ARGS>

OpenSSH에 전달된 추가 인수입니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.