2013-01-07 4 views
0

예를 들어 퍼티를 통해 SSH 터널링을 설정하는 것에 대한 기본 사항을 수행했습니다. 한 가지 질문 : 두 SSH 끝을 인증서를 기반으로 서로 인증하도록하는 방법은 무엇입니까? VNC 원격 액세스 SSH 터널링을 사용하여 예를 들어 ...인증을받은 ssh 터널링 : 어떻게?

VNC == SSH (A) ===== SSH (B) === VNC 

I는 A와 B가 서로를 인증 할. VNC가 보호를 위해 자체 암호를 가질 수 있다는 것은 논쟁의 여지가 있습니다. 하지만 여기서 중요한 것은 아닙니다. 나는 반드시 usr/pwd 보호 기능을 가지고 있지 않은 A와 B에서 실행되는 많은 응용 프로그램을 가질 수 있습니다.

퍼티 설정을 확인하고 인증서를 사용하는 옵션이없는 것으로 보입니다. 누군가 stunnel을 제안하지만 SSH를 직접 사용할 수 있는지 알고 싶습니다. 제안 해 주셔서 감사합니다.

답변

1

ssh 키가 아닌 인증서를 사용해야하는 특별한 이유가 있습니까? 내가 알고있는 유일한 이유는 호스트 사용자가 로그인 한 사용자가 많은 호스트에서 authorized_keys 파일의 복잡한 구성을 관리하는 부담을 호스트 관리자가 없애기 때문입니다.

OpenSSH는 버전 5.4에서 인증서를 도입 했으므로 서버 측에서 최소한 해당 버전을 실행하고 있는지 확인하십시오. 클라이언트도 SSH 인증서를 지원해야하며, 퍼티가 지원한다면 현재 나에게 불분명하다. 그러나 ssh 키를 지원합니다. 특히 인증서가 필요하지 않으면 키 기반 인증이 필요한 것입니다.

여기에 SSH 인증서에 좋은 읽기는 다음과 같습니다 http://blog.habets.pp.se/2011/07/OpenSSH-certificates

그냥 다음 단지 (인증서 어쨌든 무엇을 사용하는) SSH 키를 사용하여 암호를 입력하지 않고도 로그인 방법이 필요합니다.

내가 A와 B가 서로를 인증하려면 :

는이 작업을 말한다.

키를 사용하든 인증서를 사용하든간에 이미 ssh 프로토콜 자체에서 벗어납니다. 클라이언트가 서버에 연결하면 호스트 키가 로컬 known_hosts 개의 파일과 비교됩니다. 서버에 처음가는 경우 처음으로 동의하는 지 묻습니다. 로그인 한 후 서버의 키가 변경된 경우 Man-in-the-middle 경고가 표시되고 클라이언트 구성에 따라 계속 진행할 수 있는지 여부를 묻는 메시지가 표시됩니다.

이것은 클라이언트가 서버를 인증하려고 시도하기 전에 발생하는 서버 자체의 클라이언트 인증 프로세스입니다.

+0

대단히 감사합니다. 서버 인증의 경우, 인증서는 호스트 키보다 "강력합니다"(틀림없이 더 편리 할 것입니다). 클라이언트 인증의 경우 인증서는 "덜 결합 된"메커니즘을 제공합니다. 사용자 계정을 설정하거나 공개 키 파일을 서버에 복사 할 필요가 없으므로 피어 투 피어 (Peer-to-Peer) 유형의 시나리오에 적합합니다. 일). 그 전에는 SSL 인증 프로세스에 내 tcp-tunneling 코드를 사용합니다. SSH를 사용하면 후자의 부분을 피할 수 있는지 알고 싶습니다. 어떤 생각? – user180574

+0

내가 말했듯이, 관리자가 더 쉽게, 특히 대규모 설정에서. 나는 그것이 더 강한 방법이 아니라고 주장 할 것이다. 그러나 그것은 여기 또는 거기에 없다. 당신이하려고하는 한, A와 B는 서로 인증합니다. 질문의 두 번째 부분은 무엇입니까? –

+0

나는 당신의 도움으로 SSH에 대해 더 잘 이해하고 있다고 생각합니다. 다시 한번 감사드립니다. – user180574