sshd 구성 확인 이러한 설정을 설정하고 적용하고 싶습니다. AllowUsers user1 user2 PasswordAuthentication

구성을 sshd어떻게 확인할 수 있습니까?

예를 들어, 이러한 설정을 설정하고 적용하고 싶습니다.

AllowUsers user1 user2
PasswordAuthentication no
PermitRootLogin no

파일의 내용을 수동으로 확인하는 유일한 방법입니까 sshd_config, 아니면 확인할 수 sshd있습니까?



답변

-T이를 수행 하는 명령 행 옵션으로 호출 된 확장 테스트 모드 가 있습니다. 예를 들면 다음과 같습니다.

% sudo sshd -T | egrep -i 'allowusers|passwordauth|permitroot'
permitrootlogin yes
passwordauthentication yes

이 옵션은 2008 년 이래 Portable OpenSSH에 존재했습니다.
커밋 e7140f2 . 이것은 2008 년 7 월에 만들어진 5.1p1과 함께 발표되었다. 5.1 릴리스 정보는 현재 지원되는 거의 모든 OpenSSH 서버 설치에 존재합니다.


답변

이것이 모든 서버 정의를 덤프하지는 않지만 자세한 디버그 플래그를 사용하여 서버에 연결할 수 있습니다 ssh -v user@server. sshd 구성에서 활성화 된 옵션을 반영하는 많은 정보가 제공됩니다.

예를 들어, -v 스위치 를 사용하여이 연결의 출력 (키 서명, 도메인 및 IP 주소가 의도적으로 위장 된)을 살펴보십시오 .

OpenSSH_6.0p1, OpenSSL 0.9.8w 23 Apr 2012
debug1: Reading configuration data /home/claudio/.ssh/config
debug1: /home/claudio/.ssh/config line 13: Applying options for serv01
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to somedomain.com [185.113.29.221] port 22.
debug1: Connection established.
debug1: identity file /home/claudio/.ssh/id_dsa type 2
debug1: identity file /home/claudio/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9
debug1: match: OpenSSH_5.9 pat OpenSSH_5*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 3a:0d:b8:18:ca:67:4c:54:0f:c8:b2:1e:48:53:69:28
debug1: Host '[somedomain.com]:22' is known and matches the ECDSA host key.
debug1: Found key in /home/claudio/.ssh/known_hosts:7
Warning: Permanently added the ECDSA host key for IP address '[185.113.29.221]:22' to the list of known hosts.
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/claudio/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
Authenticated to somedomain.com ([185.113.29.221]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.

여기에서 허용되는 인증 방법은 publickey, password, keyboard-interactive입니다. 또한이 서버에서 로밍을 허용하지 않으며 사용자 claudio 가 공개 키를 사용하여 연결할 수 있음을 알 수 있습니다.

더 많은 “v”문자를 지정하여 정보 출력 수준을 높일 수 있지만 원하는 수준보다 더 낮은 수준의 정보를 얻을 수 있습니다.


답변

sshd의 구성은 일반적으로 다음 파일에 /etc/ssh/sshd_config있습니다..

런타임 구성을 조회하기 위해 확장 테스트 모드 sshd -T를 사용하여 클라이언트 일치 설정을 테스트 할 수도 있습니다.


답변

실행중인 sshd 인스턴스의 구성을 쿼리하는 알려진 방법은 없습니다 .opensh 서버를 참조하는 경우 생각합니다. 수행하려는 작업에 따라 -t 플래그를 사용하여 구성 파일을 테스트하여 서버를 다시 시작하기 전에 구성 파일이 유효한지 확인하여 esp가 쫓겨 나지 않도록 할 수 있습니다. 서버에 대한 대역 외 액세스 권한이없는 경우


답변

다른 답변에서 제안한대로 / etc / ssh / sshd_config 파일을 볼 때 발생하는 문제는 전체 구성을 반드시 포함 할 필요는 없다는 것입니다. 이 파일에는 기본값을 재정의하도록 설정하려는 구성 변수의 값이 포함되어 있으며, 출하시 sshd에 내장 된 기본값이 주석으로 포함되어 있습니다.

제공된 버전 대신 사용자 정의 구성 파일을 설치하면 sshd로 컴파일 된 기본값을 볼 수 없으며 사용자 정의 빌드 인 경우 기본값이 표시되는 sshd_config의 주석과 일치하지 않을 수 있습니다.

또한 -f 옵션을 사용하여 대체 구성 파일을 사용하여 sshd를 완벽하게 실행할 수 있으므로 / etc / ssh / sshd_config에 저장된 파일은 현재 설정을 반영하지 않을 수 있습니다.

이것은 질문을 매우 유효하게 만들고 내가 아는 한 확실하게 대답 할 수 없습니다.