AWS에는 연결된 EIP가 있고 (일반적으로) SSH를 통해 액세스할 수 있는 ec2 인스턴스가 있습니다. 어제와 오늘 사이에 어떤 변화가 있었는지 잘 모르겠지만 이제 내 컴퓨터에서 서버에 직접 SSH를 연결할 수 없습니다. 무슨 일이 일어나는가?
SSH를 통해 서버(예: foo)에 연결하면 다음을 얻습니다.
debug1: Connecting to foo [10.0.0.55] port 22. debug1: connect to address 10.0.0.55 port 22: Connection refused ssh: connect to host foo port 22: Connection refused
호스트 foo를 실행하면 올바른 EIP와 도메인이 확인됩니다.
foo.bar.net has address 34.204.x.x
한 가지 해결책은 항목을 추가 /etc/hosts
하거나 내 항목을 조정하여 호스트 항목에 ~/.ssh/config
추가하는 것임을 알고 있습니다. .bar.net
나는 둘 다하고 싶지 않습니다. 내 질문은 이 두 가지 솔루션 외에 SSH가 내부 IP가 아닌 EIP를 가리키도록 하려면 어떻게 해야 합니까? 참고로 제가 사용하고 있는 컴퓨터는 Mac OSX입니다.
답변1
ssh
에 속하지 않는 한 아무 것도 "지시"하지 마십시오 .ssh/config
.
또한 이 host
명령은 DNS를 독점적으로 사용하여 이름을 찾고 /etc/hosts
파일을 확인하지 않습니다.
컴퓨터 구성의 일부가 "foo"라는 호스트를 해당 IP 주소와 연결합니다. 파일에 있나요 /etc/hosts
? /etc/nsswitch.conf
파일이 비정상적인 작업을 수행하여 LDAP 또는 NIS 서버에서 "foo"를 가져오는 것이 아닐까요 ?
ping foo
당신이 아니면 무엇을 얻나요 nc -v foo 22
?