
명령을 통해 원격 SSH 서버에 연결하기 위한 구성을 만들려고 합니다 ssh <server short name>
. 나는 이것을 다음에 넣었습니다 ~/.ssh/config
.
Host <server short name> <server full name>
Host <server full name>
User <my username on the remote server>
Port 22022
ForwardAgent yes
ForwardX11 yes
다음을 사용하여 연결할 수 있습니다.
$ ssh <server full name>
하지만 명령으로는 실패합니다
$ ssh <server short name>
ssh: Could not resolve hostname <server short name>: Name or service not known
맞춤법을 여러 번 확인했는데 틀린 부분을 찾을 수 없었습니다. 두 번째 명령이 실패하는 이유를 아시나요?
답변1
Host
SSH 옵션이 아닙니다. 들여쓰기 수준에 관계없이 항상 새 섹션을 시작합니다. 따라서 두 개의 구성 섹션이 있습니다. 일치하는 빈 항목 <shortname> <fullname>
과 일치하는 항목은 <fullname>
.
대신 두 번째 줄은 이어야 합니다 HostName <fullname>
.
답변2
참조매뉴얼 페이지
키워드 host
는 구성을 함께 그룹화하는 데 사용되며 호스트에 대한 별칭을 정의하거나 여러 호스트를 한 번에 구성하는 데에도 사용할 수 있습니다.
다음 시나리오를 고려하십시오. 직장에는 dev.example.com 및 test.example.com이라는 두 개의 서버가 있으며, 여기서 동일한 키 쌍과 두 번째 키 쌍이 있는 github 계정을 사용합니다. 그런 다음 다음 구성을 설정할 수 있습니다
host *.example.com
identityfile ~/.ssh/work-key
user bob
Port 22022
ForwardAgent yes
ForwardX11 yes
host github.com
identityfile ~/.ssh/github-key
host dev
hostname dev.example.com
host test
hostname test.example.com
그리고 다음과 같은 것을 사용하여 연결합니다.
ssh dev