Lệnh: phải được chạy từ thiết bị đầu cuối


9

Tôi có một tài khoản lưu trữ được chia sẻ, tôi đã đăng nhập bằng ssh. Khi tôi gõ ví dụ sutôi đã có đầu ra này: su: must be run from a terminal

Là lỗi này liên quan đến thực tế là tôi không có đủ quyền hoặc với điều gì khác?


Thông thường tôi mong đợi rằng lỗi đó là một dấu hiệu cho thấy không có TTY được phân bổ cho kết nối, nhưng điều đó không có ý nghĩa gì nếu bạn kết nối thông qua SSH và nhận được vỏ. Bạn có thể chia sẻ các bước chính xác bạn thực hiện để nhận được lỗi đó, bắt đầu với một ssh -F /dev/null user@hosttừ hệ thống địa phương của bạn? ( -F /dev/nullNguyên nhân khiến bất kỳ cấu hình SSH cục bộ của hệ thống hoặc người dùng bị bỏ qua.) Nếu bạn không được phép sử dụng su, thông thường sẽ gây ra thông báo lỗi rõ ràng hơn nhiều (mặc dù tôi không nhớ lại từ ngữ chính xác và không có một hệ thống được thiết lập để tôi có thể thử nó).
một CVn

1
Có lẽ có một kết nối với securetty (5)? Nói cách khác, tty của phiên ssh được liệt kê trong / etc / securetty? (trả trước / dev /)
D McKeon 16/12/13

Bạn nói ví dụ su, bạn có nhận được lỗi này cho các lệnh khác không?
ctrl-alt-delor

Lệnh ttyhiển thị gì? Bạn đang đăng nhập bằng ssh sau đó gõ su, hoặc bạn đang chạy ssh su? Trình giả lập thiết bị đầu cuối nào bạn đang sử dụng? Bạn có quyền truy cập root?
Gilles 'SO- ngừng trở thành ác quỷ'

Cố gắng trả lời tất cả các câu hỏi: Tôi đăng nhập bằng ssh ( ssh -l login@host hostTôi có thể đăng nhập, chỉ khi sử dụng lệnh này) hơn loại su(các lệnh khác hoạt động bình thường), khi tôi nhập ttytôi có : not a tty.
4m1nh4j1

Câu trả lời:


4

Hãy thử -ttùy chọn để ssh. Nếu điều đó không làm việc hãy thử -tt.

-t Buộc phân bổ giả. Điều này có thể được sử dụng để thực thi các chương trình dựa trên màn hình tùy ý trên một máy từ xa, có thể rất hữu ích, ví dụ như khi triển khai các dịch vụ menu. Nhiều -ttùy chọn buộc phân bổ tty, ngay cả khi ssh không có tty cục bộ.


Tôi đã thử ssh -tl root@host hostvà với gấp đôi t, nhưng có kết quả tương tự. Ps: như đã đề cập trong tài liệu, để đăng nhập bằng ssh tôi nên sử dụng một lệnh như thế này ssh -l login@host host.
4m1nh4j1

Tại sao bạn đăng nhập với quyền root? và bạn không cần -l.
ctrl-alt-delor 17/12/13

Tôi đang sử dụng -lvì tôi thấy rằng không thêm nó, tôi không thể đăng nhập. Tôi có thể thấy điều này trong tài liệu dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System (Trang duy nhất tôi tìm thấy là bằng tiếng Pháp). Nếu tôi không sử dụng -lssh, đừng chấp nhận mật khẩu của tôi.
4m1nh4j1

Tôi đã tạo một tài khoản ssh với " root" làm thông tin đăng nhập, vì vậy tôi sử dụng root@hostcho ssh
4m1nh4j1

Đăng nhập với quyền root, được coi là có hại: Hầu hết mọi người quan tâm đến bảo mật đều vô hiệu hóa đăng nhập root. Bạn có thể nhận được quyền root khi bạn đăng nhập (tôi khuyên bạn nên sudo). Nếu bạn cũng vô hiệu hóa xác thực mật khẩu, do đó buộc xác thực dựa trên khóa, thì bạn sẽ cần khóa và mật khẩu để được root.
ctrl-alt-delor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.