Câu trả lời:
Nhập ~.
(tức là dấu ngã, dấu chấm) ở đầu một dòng. Nói cách khác, nhấn Enter, sau đó ~, sau đó .. (Trong một số ngôn ngữ, bạn có thể cần nhấn Shifthoặc Altnhập ~
ký tự.)
Nói chung, ~
ký tự là một ký tự thoát trong phiên SSH khi bạn nhập nó ở đầu dòng. Nhập Entersau đó ~?
để xem danh sách các lệnh thoát. Những cái phổ biến nhất là
~.
chấm dứt kết nối~^Z
(nhấn ~then Ctrl+ Z) để tạm dừng kết nối và nhập lệnh cục bộ (chạy lệnh fg
để quay lại phiên SSH)Nếu bạn muốn một dấu ngã ở đầu dòng, bấm ~hai lần.
Tất cả những gì bạn cần làm để thoát một phiên ssh là gõ exit
vào dấu nhắc.
Hãy thử nhập Shift+ `+.
~.
bạn có thể tìm hiểu thêm trong trang man SSH (một nửa trong nửa chừng) và bằng cách nhập: ~?
vào phiên SSH hoạt động / được kết nối, một lần nữa, bạn có thể có nhấn enter một lần trước.
Nếu phiên của bạn bị treo và lời nhắc không còn phản hồi nữa, bạn chỉ có thể giết phiên bản Terminal và tất cả các quy trình con được liên kết với phiên bản đó, trong đó phiên ssh của bạn là một, nên được xử lý theo.
Nếu bạn thực sự muốn kỹ lưỡng mặc dù bạn có thể mở một phiên bản Terminal mới, hãy tìm các phiên ssh trong danh sách quy trình và tiêu diệt chúng thông qua dòng lệnh:
> ps -ef |grep ssh
501 1332 142 0 20Dec11 ?? 0:01.33 /usr/bin/ssh-agent -l
501 57172 57150 0 1:58pm ttys000 0:00.01 grep ssh
501 57139 57133 0 1:57pm ttys002 0:00.03 ssh -i/Users/ian/code/ec2-keys/id_rsa-gsg-keypair someuser@someinstance.amazonaws.com
> kill 57139
Nếu không được, hãy thử:
> kill -9 57139
Đừng giết ssh-agent
quá trình.
Hoặc bạn có thể mở Activity Monitor và tìm kiếm ở đó các phiên và nhấn nút kill cho chúng:
~.
. Xem ở trên.
broken-pipe
nhưng tôi không chờ đợi.