ssh - 의사 터미널 할당 비활성화

ssh - 의사 터미널 할당 비활성화

SSH 클라이언트 옵션 "-T"는 의사 터미널 할당을 비활성화합니다.

이 옵션을 켜면 원격 sshd는 원격 명령을 실행하기 위해 pty를 할당하지 않습니다. 원격 명령의 출력은 어떻게 SSH 클라이언트로 다시 전송됩니까? 내가 아는 한, SSH 클라이언트와 서버 간의 간단한 입출력은 다음과 같습니다.

ssh client <--- (TCP/IP) --> ssh server <---> ptm <---> pts <---> remote command

-T 옵션을 사용하면 sshd가 원격 명령을 실행하기 위해 pty 쌍을 생성하지 않는다는 의미입니까?

답변1

close pty 할당을 사용하는 경우 -Tsshd는 양방향 pty 대신 파이프 쌍을 사용하여 원격 명령을 실행하는 프로세스와 통신합니다.

당신은 볼 수 있습니다do_exec_no_pty()OpenSSH 소스 코드의 기능(어디에도 문서화되어 있지 않은 경우) dropbear(또 다른 sshd 구현) 비슷한 작업을 수행하고 있습니다.

pty의 경우할당된( -t옵션 또는 원격 명령 없음)은 원격 시스템에만 pty를 할당합니다. 클라이언트 ssh는 로컬 시스템에 pty를 할당하지 않습니다. tty인 경우 표준 입력에서 원시 모드를 엽니다.

관련 정보