Đã sửa lỗi: sudo: no tty hiện tại và không có chương trình yêu cầu nào được chỉ định
Hiện tại không có tty và không có dòng đầu ra được chỉ định của chương trình hỏi là một trong những thông báo lỗi ssh mà thực sự không phải là tất cả những gì hữu ích vì nó không thực sự đến mức gây ra vấn đề. Nhiều hơn khả năng, bạn đang thực sự làm việc với một TTY hợp lệ của một số loại khi bạn nhìn thấy tin nhắn và bạn đã có thể xử lý với nhập mật khẩu sudo của bạn trên ssh tốt. Bạn đang nhiều hơn khả năng đối phó với một lỗi cú pháp, nhưng thông điệp không trực tiếp giải quyết thực tế này.
Vì đây là một vấn đề liên quan đến ssh chính nó, bạn sẽ có nhiều khả năng có thể tái tạo vấn đề trên Linux, FreeBSD, macOS và các dịch vụ Unix của Cygwin trên Microsoft Windows. May mắn thay, sửa chữa phải được khá nhiều giống nhau trên tất cả các nền tảng này.
Phương pháp 1: Tìm Terminal cho ssh
Trong khi bạn đang có nhiều khả năng đã làm việc từ một thiết bị đầu cuối, ssh có lẽ không nhận ra điều này. Nó vẫn có thể đang cố gắng tìm một trình mô phỏng thiết bị đầu cuối TTY mặc dù bạn đang ở trong một cửa sổ nhắc lệnh. Hãy thử tạo lại lỗi để kiểm tra điều này. Chúng tôi đã cấu hình một máy ảo để phục vụ như một ví dụ và chạy ssh [email protected] 'sudo /var/mail/startup.sh' như là một thử nghiệm. Đương nhiên, bạn sẽ muốn thay đổi lệnh và dòng ssh thành một thứ phù hợp với những gì bạn đang cố gắng làm.
Bạn sẽ muốn đảm bảo rằng bạn đang đăng nhập vào máy chủ mà bạn nghĩ rằng bạn đang có. Bất kể, hãy kiểm tra xem bạn vẫn nhận được sudo: no tty present và không có thông báo lỗi được chỉ định của chương trình hỏi. Nhiều khả năng, nếu bạn vẫn nhận được nó thì bạn sẽ thấy nó ba lần và thậm chí có thể được nhắc nhập mật khẩu theo cách bạn sẽ có nếu bạn chạy sudo cục bộ trên Debian hoặc Ubuntu.
Hãy thử thêm -t sau ssh để sửa lỗi cú pháp của bạn. Chín lần trong số mười điều này sẽ buộc ssh phân bổ một TTY ảo cho chính nó và giả vờ rằng nó xảy ra để chạy bên trong một thiết bị đầu cuối thực. Bạn không phải thay đổi bất cứ điều gì khác về lệnh của bạn. Đơn giản chỉ cần thêm tùy chọn -t sau khi các chữ cái ssh và sau đó giữ cho máy chủ và thông qua lệnh giống nhau. Bạn cũng sẽ muốn ghi nhớ điều này nếu bạn phải chạy ssh trong phần sau của lệnh.
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đâyVí dụ, nếu bạn nhận được cùng một loại lỗi khi chạy một lệnh được định dạng là ssh -t [email protected] 'ssh [email protected]' bạn sẽ phải giữ tùy chọn -t sau ssh đầu tiên ngăn chặn nó. Lưu ý rằng nếu sau này bạn đã thay đổi lệnh thứ hai để tạo ra hoặc tiêu thụ dữ liệu, thì bạn sẽ không muốn sử dụng -t ở tất cả. Ví dụ, nếu bạn bắt đầu chạy con mèo thay vì một kịch bản thì bạn có thể kết xuất -t vì bạn sẽ không cần phải cấp phát một thiết bị đầu cuối cho điều đó.
Phương pháp 2: Vá tệp Visudo
Bạn cũng có thể gặp sự cố cấu hình tạo lỗi này. Sửa đổi tệp visudo bằng cách đưa ra lệnh sudo visudo và lưu ý rằng bạn sẽ không bao giờ muốn chỉnh sửa tệp này theo bất kỳ cách nào khác. Bạn sẽ tìm thấy một dòng có tính năng ALL = NOPASSWD trong đó theo sau là các loại lệnh mà bạn không cần phải nhập mật khẩu của quản trị viên để chạy.
Mỗi lệnh riêng lẻ cần kết thúc bằng dấu phẩy trừ dấu phẩy cuối cùng trên dòng. Vì vậy, nếu bạn có một cái gì đó mà đọc như / sbin / poweroff / sbin / start / sbin / dừng nó sẽ xử lý tất cả những điều này như là một lệnh duy nhất và ném lỗi cho bạn. Tương tự như vậy, nếu bạn đang thiếu một lệnh mà bạn đang cố gắng chạy qua ssh thì bạn cũng sẽ nhận được lỗi này. Thực hiện các điều chỉnh cần thiết và lưu tệp trước khi kiểm tra xem lỗi có còn tái sản xuất hay không.
Nếu bạn vẫn gặp lỗi ngay cả sau khi làm như vậy và khởi động lại dịch vụ, hãy thử lệnh sau trong hình ảnh bên dưới và đảm bảo rằng dòng PermitTTY có từ yes sau đó. Nếu đây là dòng cuối cùng trong tệp của bạn, thì hãy đảm bảo rằng có một dòng mới trống sau đó. GNU nano thực hiện tác vụ này tự động theo mặc định.
Bạn sẽ cần phải khởi động lại mọi dịch vụ liên quan trước khi cố gắng tái tạo lại thông báo lỗi.
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây