SOCKS5를 통한 JSch SSH 연결
SOCKS5를 통해 JSch SSH 세션을 구성하고, 그 클라이언트 기능을 SSH 동적 SOCKS 리스너 제공과 분리하십시오.
ProxySOCKS5 는 JSch 세션을 기존 SOCKS 서비스의 클라이언트로 만듭니다. 그 자체로 반대 기능—다른 클라이언트를 SSH로 전달하는 SOCKS 리스너—을 제공하지는 않습니다.
JSch jsch = new JSch();
jsch.setKnownHosts("/home/alex/.ssh/known_hosts");
Session session = jsch.getSession("alex", "ssh.example.net", 22);
ProxySOCKS5 proxy = new ProxySOCKS5("127.0.0.1", 1080);
session.setProxy(proxy);애플리케이션의 SSH 인증과 세션 연결 전에 이것을 실행하십시오. known-hosts 파일을 의도한 SSH 서버의 신원으로 준비하고, 그 검사를 프록시를 통해 유지하십시오.
프록시 객체의 자격 증명 인터페이스는 필요할 때 중개자에게 인증합니다. SSH 로그인을 대체하지는 않습니다. 공용 중개자가 허용되는 공개적으로 접근 가능한 SSH 서버의 경우, SOCKS5 프록시 목록이 ProxySOCKS5 후보를 제공합니다. 표시된 프록시 계정 없는 형식을 사용하고 노드가 실제 SSH 호스트와 포트를 허용하는지 확인하십시오.
리스너 요구 사항의 경우, 미리 정의된 하나의 대상으로의 고정 전달과 각 클라이언트에 대한 동적 SOCKS 협상을 구별하십시오. 관련 없는 터널링 방식은 그 서버를 제공하지 않습니다. “SOCKS 지원”을 두 작업 모두로 해석하지 말고 설치된 라이브러리의 정확한 공개 기능을 확인하십시오.