에 따르면남자 sshd_config, 지원되는 암호 목록을 지정할 수 있습니다. 예를 들면 다음과 같습니다.
Ciphers arcfour, 3des-cbc
문제는 한 호스트에서 실행되는 클라이언트 애플리케이션이 네트워크의 나머지 부분과 동일한 암호를 지원하지 않는다는 것입니다.
따라서 단일 호스트 예외를 제외하고 모든 경우에 사용할 암호를 지정하는 방법이 있습니까?
답변1
지시문에 나열된 암호는 Ciphers
첫 번째 일치 항목을 기준으로 해야 하므로 불량 클라이언트의 암호를 목록의 마지막에 배치합니다. 네트워크의 다른 클라이언트는 가능하다면 목록에서 더 높은 암호를 먼저 협상하고, 불량 클라이언트는 더 약한 암호에 도달해야 합니다.
안타깝게도 이렇게 하면 명시적으로 설정된 경우 다른 클라이언트가 더 약한 암호를 사용할 수 있습니다. 안타깝게도 블록 Ciphers
안에 지시어를 넣을 수는 없습니다 Match
. 내가 생각할 수 있는 또 다른 옵션은 이상한 클라이언트 아웃을 위해 다른 포트에서 다른 서버를 실행하고 sshd의 두 번째 인스턴스에 대한 액세스를 해당 호스트로 제한하는 것입니다.
답변2
내가 볼 수 있는 유일한 옵션은 ForceCommand를 사용하여 스크립트를 작성하는 것입니다.
Match를 사용하면 너무 까다로워서는 안 됩니다.
ForceCommand
Forces the execution of the command specified by ForceCommand, ignoring any command supplied by the client and ~/.ssh/rc if present. The command is invoked by using the user's login shell with the -c option. This applies to shell, command, or subsystem execution. It is most useful inside a Match block.
위의 내용은 매뉴얼 페이지에서 가져온 것입니다. 여기에서 더 많은 것을 찾았습니다.SSHD 게이트키퍼 스크립트
--편집하다--
제가 할 수 있는 최선의 방법은 다른 포트에서 별도의 SSHD 인스턴스를 실행한 다음 리디렉션 예제 중 하나에 -s를 추가하여 애플리케이션의 IP만 포착하고 올바른 암호로 구성된 다른 인스턴스로 리디렉션하는 것입니다.http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/