독립 실행형으로 실행할 때 다중 연결을 지원하도록 sshd를 구성할 수 있습니까?

독립 실행형으로 실행할 때 다중 연결을 지원하도록 sshd를 구성할 수 있습니까?

여러 동시 연결을 설정할 수 있는 SSH 서버 Docker 이미지를 만들려고 합니다.

  • 섬기는 사람
> sudo /usr/sbin/sshd -Ddp 1234
  • 고객 1
> ssh user@server -p 1234
user@server's password:
...
  • 고객 2
> ssh user@server -p 1234
ssh: connect to host server port 1234: Connection refused

systemd에서 실행되는 SSH 서버 데몬이 있는 동일한 서버 시스템하다다중 연결이 허용됩니다.

독립형으로 실행되도록 구성하는 방법이 있습니까 sshd? systemd와 같은 서비스 관리자를 사용하는 대신, 아니면 sshd기본적으로 단일 연결을 처리하고 동시성은 관리에서 비롯됩니까? 그렇다면 systemd는 지시만 받은 경우 동시 연결을 허용하기 위해 무엇을 합니까 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS(아무데도 설정되지 않은 것으로 나타남 SSHD_OPTS)?

답변1

-d방해가 되는 것 같아요 . ~에서man 8 sshd:

sshd클라이언트의 연결을 수신합니다. [...] 들어오는 연결마다 새 데몬을 생성합니다. […]

나중에 [강조]:

-d
디버그 모드. 서버는 자세한 디버깅 출력을 표준 오류로 보내고 자신을 백그라운드로 두지 않습니다.서버도 포크하지 않고 하나의 연결만 처리합니다.[…]

내 테스트에서는 sshd -d동작이 설명과 동일하다는 것을 보여줍니다. 그것 없이 실행하면 -d여러 연결을 잘 처리합니다.

답변2

다음 방법을 사용하여 여러 연결을 통해 sshd를 디버깅할 수 있습니다.

/usr/sbin/sshd -o LogLevel=DEBUG3 -De

관련 정보