Cách thông thường để kết nối với máy chủ SSH là ssh username@ip_address
. Nhưng người dùng có thể chỉ muốn chạy một chương trình trên máy từ xa. Vì vậy, tên chương trình theo sau các đối số bình thường đó là ssh username@ip_address <program_name>
. Ví dụ , ssh username@ip_address ls
. Lập luận đó là tốt, ngoại trừ cho các chương trình tương tác (mà cũng chấp nhận đầu vào người sử dụng cũng như cung cấp đầu ra) ví dụ top
. Đầu ra là
Biến môi trường TATE không được đặt.
có nghĩa là không có thiết bị đầu cuối (giả) được gắn giữa sshd và các chương trình hàng đầu. Giải pháp là thêm đối số -t
trong đó toàn bộ lệnh bây giờ trở thành ssh -t username@ip_address top
.
Câu hỏi của tôi là tại sao sshd theo mặc định cũng không thể sử dụng thiết bị đầu cuối giả để giao tiếp với các chương trình không tương tác để không cần thêm -t
đối số cho các chương trình tương tác?
RequestTTY yes
(hoặc force
) trong cấu hình của mình.
top
có thể chạy trong chế độ hàng loạt.