SSH 서버에 연결하는 일반적인 방법은 ssh username@ip_address입니다. 그러나 사용자는 원격 시스템에서만 프로그램을 실행하려고 할 수 있습니다. 따라서 프로그램 이름은 일반 인수 다음에옵니다 ssh username@ip_address <program_name>. 예를 들면 다음과 같습니다 ssh username@ip_address ls. 대화식 프로그램 (사용자 입력을 수용하고 출력을 제공하는 것)을 제외하고는 그 주장이 top좋습니다. 출력은
TERM 환경 변수가 설정되지 않았습니다.
이것은 sshd와 최상위 프로그램 사이에 (의사) 터미널이 연결되어 있지 않음을 의미합니다. 해결책은 -t이제 전체 명령이되는 인수를 추가 하는 것 ssh -t username@ip_address top입니다.
내 질문은 왜 기본적으로 sshd가 의사 터미널을 사용하여 비 대화 형 프로그램과 통신 할 수 없으므로 대화 형 프로그램에 대한 -t인수 를 추가 할 필요가 없다는 것입니다 .
RequestTTY yes(또는 force)을 설정할 수 있습니다 .
top배치 모드 에서도 실행할 수 있습니다.