별칭(~/.ssh/config) 아래에서 여러 호스트 이름 중 하나를 무작위로 선택하는 방법

별칭(~/.ssh/config) 아래에서 여러 호스트 이름 중 하나를 무작위로 선택하는 방법

ssh가 연결할 임의의 IP 주소(와일드카드 사용)를 선택하도록 할 수 있습니까? "asd"의 IP 주소를 가진 컴퓨터가 30대 있습니다.1.asd.asd.asd.com"을 "asd로"30.asd.asd.asd.com"이고 별칭 xxxx를 사용하여 그중 하나(무작위로 선택됨)에 연결하고 싶습니다. ~/.ssh/config 파일을 사용하여 이 작업을 수행하는 쉬운 방법이 있습니까?

이 와일드카드를 사용해 보았습니다.

Host xxxx
Hostname asd[0-30].asd.asd.asd.com
User my_username

그러나 이것은 작동하지 않습니다. 어떤 아이디어가 있나요? 가능합니까?

답변1

꼭 그래야 한다면 다음과 같이 할 수 있습니다.

Host xxxx
     User my_username
     ProxyCommand nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22

이는 bash 쉘을 사용한다고 가정합니다. 그렇지 않으면 프록시 명령을 bash 호출에 대한 인수로 전달할 수 있습니다.

     ProxyCommand /bin/bash -c "exec nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22"

답변2

나는 ssh 자체가 이것을 할 수 있다고 생각하지 않습니다.

자신이 제어하는 ​​영역의 하나의 호스트 이름에 모든 IP 번호를 할당하는 경우 DNS를 사용하여 이를 수행할 수 있습니다.

또 다른 옵션은 무작위로 선택된 주소로 ssh를 호출하는 간단한 래퍼(예: Python)를 작성하는 것입니다.

관련 정보