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
배치 모드 에서도 실행할 수 있습니다.