2013-04-19 3 views
3

Computer-B의 키로 Computer-B를 터널링하여 Computer-A에서 Computer-C로 ssh하려고합니다.ssh ProxyCommand가 일반 명령처럼 작동하지 않습니다.

ssh -t computerB ssh computerC 

내가 넣어 경우 : 이미 컴퓨터-A에서 컴퓨터 B와 컴퓨터 B에서 컴퓨터-C이 암호 압력이나 간섭없이 computerC에 연결 ComputerA를 작동

에 키를 공유 표준 입력이 터미널이 아니기 때문에 의사 터미널이 할당되지 않습니다 :이 같은 명령을 ComputerA를 내 ssh_config를에 그냥

Host = computerC 
    ProxyCommand = ssh -t computerB ssh computerC 

내가 다음과 같은 오류가 중단됩니다.

답변

2

이 시도 : 그것은 다른 이름을 가지고 또는 computerB의 기본 PATH에없는 경우

Host computerC 
    ProxyCommand ssh computerB nc %h %p 

당신은 nc (netcat을) 변경해야 할 수도 있습니다.


설명 :

ssh -t computerB ssh computerC ssh를 통해 computerB에 로그 당신의 다음 computerB SSH을 통해 computerC에 사용자를 로그인에서. 각 홉마다 --- A에서 B까지 그리고 B에서 C까지 --- ssh는 암호화 된 데이터가 흐르는 포트 22에 대한 TCP 연결을 설정합니다.

ProxyCommand는 TCP 연결 열기를 비활성화하고 대신 연결을 열 사용자 지정 명령을 지정합니다. 연결의 다른쪽에는 ssh 클라이언트가 말할 수있는 반대쪽에 ssh 데몬이 있어야합니다. 쉘은 아무 쓸모가 없습니다.

관련 문제