Làm thế nào để tôi dừng / bắt đầu ssh? Tôi đã thử
/etc/init.d/ssh restart
sudo service ssh restart
sudo restart ssh
Tôi nhận được lỗi mỗi lần.
Làm thế nào để tôi dừng / bắt đầu ssh? Tôi đã thử
/etc/init.d/ssh restart
sudo service ssh restart
sudo restart ssh
Tôi nhận được lỗi mỗi lần.
Câu trả lời:
Sử dụng lệnh này:
sudo systemctl restart ssh
Để khởi động lại máy chủ SSH / daemon.
Tiếp tục với việc systemd
bắt đầu với Ubuntu 15.04 , bây giờ bạn sử dụng cú pháp này để dừng, bắt đầu hoặc khởi động lại dịch vụ:
sudo systemctl <action> <service-name>
Nó nên đơn giản như (được thử nghiệm trên bản cài đặt mới với openssh-server)
sudo stop ssh
sudo start ssh
Vì nó thúc đẩy mới nổi , đây là cách tốt nhất ™ để làm điều đó, thay vì sử dụng /etc/init.d/ssh, service
hoặc gọi trực tiếp sshd. Đảm bảo chạy cả hai lệnh; Dù sao stop ssh
, nếu bạn gặp lỗi , start ssh
hãy xem những gì nó nói là dịch vụ có thể đã bị dừng.
(Tôi muốn giới thiệu stop
/ start
kết thúc restart
, trừ khi bạn đang cố khởi động lại hệ thống từ xa. Nếu ssh đã bị dừng, restart
sẽ không khởi động nó.)
Nếu các lệnh đó không hoạt động, có thể bạn đang gặp lỗi hoặc đã sửa chữa quá xa với hệ thống của bạn, trong trường hợp đó bạn ít nhất biết vấn đề không xảy ra.
Kể từ Ubuntu 15.04, Canonical không còn xuất xưởng theo mặc định .
Vì vậy, các lệnh start
, stop
và restart
không còn có sẵn.
Phương thức chính xác để khởi động lại dịch vụ SSH (hoặc bất kỳ dịch vụ nào khác) bây giờ là một trong hai lệnh sau:
sudo systemctl restart ssh
sudo service ssh restart
systemctl
vàservice
; man service
; man systemctl
; man reboot
; man shutdown
.
Trước tiên hãy kiểm tra xem sshd có đang chạy hay không bằng cách sử dụng như sau:
ps -ef | grep sshd
Bạn sẽ thấy một cái gì đó như:
root 1234 1 0 12:28 ? 00:00:00 /usr/sbin/sshd -D
Nếu bạn không thấy một dòng cho /usr/sbin/sshd -D
thì sshd chưa bao giờ bắt đầu hoặc đã bị hỏng, điều này sẽ yêu cầu khắc phục sự cố thêm để tìm hiểu lý do tại sao.
Nếu bạn thấy dòng đó, tiếp theo chạy này:
cat /var/run/sshd.pid
Điều này sẽ in id quá trình của sshd, vì vậy trong trường hợp này bạn sẽ thấy:
userid@computername:~$ cat /var/run/sshd.pid
1234
Nếu nội dung của sshd.pid không khớp với id quá trình của phiên bản đang chạy của sshd thì một cái gì đó đã khởi động lại không chính xác. Nhưng bất cứ điều gì các chi tiết bạn tìm thấy ở đây sẽ đưa bạn đi đúng hướng. Hoặc là nó bị hỏng, được khởi động lại không chính xác hoặc không bao giờ được bắt đầu ở nơi đầu tiên.
Trên máy tính để bàn Ubuntu:
Trước tiên hãy kiểm tra trạng thái của dịch vụ:
sudo service ssh status
sẽ hiển thị: - Active: active (running)
Nếu nó đang chạy thì không cần phải khởi động lại. Nếu bạn vẫn muốn khởi động lại nó, Ubuntu gọi dịch vụ ssh chứ không phải sshd.
service ssh restart
Nhưng nếu không phải Ubuntu Desktop, sử dụng CLI:
sudo systemctl restart ssh
sudo service ssh restart
Dịch vụ này cũng được kiểm soát bởi những người mới bắt đầu và không phải là sysvinit. Vì vậy, bạn sẽ tìm thấy nó tại /etc/init/ssh.conf thay vì /etc/init.d/ssh.
Nếu bạn muốn thay đổi một số cài đặt (ví dụ: cổng nghe và quyền đăng nhập gốc) bằng cách chỉnh sửa tệp cấu hình thông qua lệnh:
sudo nano /etc/ssh/sshd_config
Trên máy tính để bàn Ubuntu, bạn có thể sử dụng gedit thay vì nano:
Cuối cùng áp dụng các thay đổi bằng cách khởi động lại hoặc tải lại SSH:
sudo service ssh restart
Nếu ở trên vẫn không hoạt động, hãy gõ vào đây:
sudo service ssh stop
sudo service ssh start
Nếu tất cả các cách trên đều thất bại, hãy thử khởi động lại hệ thống Ubuntu của bạn:
sudo reboot -f