OpenSSH-~ / .ssh / config의 별명을 명령 행의 IP 주소로 맵핑


9

명령 줄에서 ~ / .ssh / config를 쿼리 할 수 ​​있습니까? 특정 별칭이 별도의 프로그램에서 가리키는 IP 주소를 검색하고 싶다고 가정 해 봅시다.

답변:


2

난 당신이 바로 IP 주소를 반환 즉., 192.168.1.1 원하는 것을 이해한다면,이 명령 줄에서 파일을 쿼리 중 하나 (매우 부서지기 쉬운) 방법은 당신이 그것을 읽을 수있는 적절한 권한이 제공입니다 그리고 당신은 .ssh/config일관하다 형식화 :

awk '/Host $youralias/ {getline; print $2}' .ssh/config


awk작업을 수행 하는 방법을 이해하고 싶을 때만 게시 하지만 내 지식은 상당히 제한적입니다.


1

당신이 요구하는 것을 완전히 확신하지 못합니다 ...

'mainserver'에 대한 SSH 별칭이 있다고 가정 해보십시오 ssh mainserver. 에 대해 작동 ping mainserver하려면 다음 /etc/hosts과 같이에 별칭을 넣어야합니다 .

/ etc / hosts :

192.168.0.1 comp-one
192.168.0.2 comp-two

192.168.0.20 mainserver

그런 다음 할 수 ping mainserver있고 192.168.0.20을 핑합니다.


0

이것은 파일 에서 HostName기반을 검색하는 약간 더 강력한 방법입니다 .Host.ssh/config

sshalias()
{
    awk "\$1==\"Host\" {host=\$2} \$1==\"HostName\" && host==\"$1\" {print \$2}" "$HOME/.ssh/config"
}

-1

언급 한 파일은 텍스트 파일이며 여기에는 호스트 이름 및 연결 가능한 시스템을 식별하기위한 IP 주소 가 포함됩니다. host(1)명령을 사용하여 호스트 이름을 IP 주소로 확인할 수 있습니다 . 형식은 매우 단순하므로 그 안에 무엇이 있는지 찾기가 어렵지 않습니다. 와일드 카드는 파일에서 사용할 수 있습니다 (광산 상태 *.fedoraproject.org).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.