2017-04-26 7 views
1

sshserver의 apache sshd를 사용하여 연결된 ssh 클라이언트에 '쉘'채널을 열려면 어떻게해야합니까? RFC 4254는 클라이언트에 채널을 열 수있는 서버를 의미ssh 서버의 채널 열기

When either side wishes to open a new channel, it allocates a local number for the channel

언급.

그러나 org.apache.sshd.server.session.ServerSession ..에 API가 없습니다. 나는 뭔가를 놓치고 ..? 내 요구 사항은 비동기 적으로 sshserver에서 sshclient로 메시지를 보내는 것입니다.

답변

0

SSH2 프로토콜은 이와 같은 용도로 사용할 수 있도록 확장 가능하도록 설계되었습니다. 그러나 아직은 그렇지 않았으며 서버 측에서 시작할 수있는 채널이 없습니다. 당신이 OpenSSH code를 통해 검색 할 때 따라서

등의 요청이있을 것이라고하더라도, 그것은 대부분의 클라이언트에서 유효하지 않은 것, 당신은 볼 수 있습니다 :

  • packet_start(SSH2_MSG_CHANNEL_OPEN);는 클라이언트 측에서 새로운 채널을 생성
  • dispatch_set(SSH2_MSG_CHANNEL_OPEN, &server_input_channel_open);은 서버에서이 메시지에 대한 핸들러를 지정합니다.

무시할 수 없거나 오류가 발생하도록 다른 점은 없습니다.

+0

감사합니다. @Jakuje. 그렇다면 OpenSSH가 RFC에 순응하지 않는다는 것을 의미합니까? 서버에서 비동기 메시징을 지원하지 않는 경우이 목적으로 전용 클라이언트에서 열린 채널을 유지하는 것이 좋습니다 ...? 최적화 된 솔루션에 대해 무엇을 제안합니까? – 302Found

+0

번호 RFC는 광범위하게 가능성에 대해 말하고, 다른 RFC는 채널 유형을 지정합니다. 그리고 어느 누구도 유용성이나 보안 관점에서 서버에서 열지 않습니다. – Jakuje

+0

이 목적으로 전용 클라이언트에서 열린 채널을 유지하는 것이 좋습니다 ...? – 302Found