327.5. 인증
SSH 구성 요소는 공개 키 인증서 또는 사용자 이름/암호 중 하나를 사용하여 원격 SSH 서버에 인증할 수 있습니다. SSH 구성 요소 인증 방법을 구성하는 방법은 및 옵션을 설정하는 방법을 기반으로 합니다.
-
먼저
certResource
옵션이 설정되어 있는지 확인하고 이 옵션을 사용하여 참조된 공개 키 인증서를 찾아 해당 인증서를 인증에 사용합니다. -
certResource
가 설정되지 않은 경우keyPairProvider
가 설정되어 있는지 확인하는 것으로 확인되며, 이 경우 인증서 기반 인증에 이를 사용합니다. -
certResource
및keyPairProvider
가 설정되지 않은 경우 인증에사용자 이름
과암호
옵션을 사용합니다.사용자 이름
및암호
가SshConstants.USERNAME_HEADER
(CamelSshUsername
) 및SshConstants.PASSWORD_HEADER
(CamelSshPassword
)로 설정된 엔드포인트 구성 및 헤더에 제공되는 경우에도 엔드포인트 구성은 정체적으로 사용되며 헤더에 설정된 인증 정보가 사용됩니다.
다음 경로 조각은 classpath의 인증서를 사용하는 SSH 폴링 소비자를 보여줍니다.
XML DSL에서
<route> <from uri="ssh://scott@localhost:8101?certResource=classpath:test_rsa&useFixedDelay=true&delay=5000&pollCommand=features:list%0A"/> <log message="${body}"/> </route>
Java DSL에서
from("ssh://scott@localhost:8101?certResource=classpath:test_rsa&useFixedDelay=true&delay=5000&pollCommand=features:list%0A") .log("${body}");
공개 키 인증 사용의 예는 examples/camel-example-ssh-security
에서 제공됩니다.
인증서 종속성
인증서 기반 인증을 사용하는 경우 몇 가지 추가 런타임 종속 항목을 추가해야 합니다. 표시된 종속성 버전은 Camel 2.11에서 사용되는 Camel 버전에 따라 이후 버전을 사용해야 할 수 있습니다.
<dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-core</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpg-jdk15on</artifactId> <version>1.47</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> <version>1.47</version> </dependency>