사용된 포트에 따라 다른 SSH 기본값을 가질 수 있습니까?

사용된 포트에 따라 다른 SSH 기본값을 가질 수 있습니까?

동일한 호스트 이름에 여러 개의 SSH 서버가 있고 한 포트에서 실행되는 SSH 서버의 기본 사용자 이름을 사용하고 두 번째 SSH 서버에는 다른 포트를 사용하고 싶습니다. 가능합니까?

답변1

에서 man sshd:

-f config_file은 구성 파일의 이름을 지정합니다. 기본값은 /etc/ssh/sshd_config입니다. 구성 파일이 없으면 sshd는 시작을 거부합니다.

따라서 sshd서버 인스턴스를 호출하려면 별도의 구성 파일을 사용하십시오.

답변2

훌륭한 해결책은 없지만 작동 Match exec합니다 ssh_config.

에서 man ssh_config:

exec 키워드는 사용자 쉘에서 지정된 명령을 실행합니다. 명령이 종료 상태 0을 반환하면 조건은 true로 간주됩니다. 공백 문자가 포함된 명령은 따옴표로 묶어야 합니다. 명령의 다음 문자 시퀀스는 실행 전에 확장됩니다. '%L'은 로컬 호스트 이름의 첫 번째 구성 요소로 대체되고, '%l'은 로컬 호스트 이름(도메인 이름 포함)으로 대체됩니다. %h'는 대상 호스트 이름으로 대체되고, '%n'은 명령줄에 지정된 원래 대상 호스트 이름으로 대체됩니다. '%p'는 대상 포트, '%r'은 원격 로그인 사용자 이름, '% u'는 ssh(1)을 실행하기 위한 사용자 이름입니다. 사용자의 사용자 이름입니다.

ssh이는 실행을 /usr/bin/test포트(여기서는 2222)와 일치 시킬 수 있음을 의미합니다 .

Match host "your_host" exec "test 2222 -eq %p"
    User another_user

또는 다른 포트의 SSH 서버에 대한 별명/별칭을 정의할 수 있습니다.

Host server_with_other_port
    Port 2222
    User another_user

ssh server_with_other_port그런 다음 다른 기본 포트와 기본 사용자 이름을 사용하여 두 번째 SSH 서버에 연결할 수 있습니다.

별칭 솔루션에 대한 주의 사항은 기본 사용자 이름은 실제 서버 이름이나 IP 주소를 사용할 때가 아니라 별칭을 사용할 때만 적용된다는 것입니다.

관련 정보