Cách ngắt kết nối SSH của người dùng khác bằng dòng lệnh trong Mac OS hoặc Linux

Tác giả Network Engineer, T.M.Hai 29, 2021, 08:52:21 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách ngắt kết nối SSH của người dùng khác bằng dòng lệnh trong Mac OS hoặc Linux


Sử dụng SSH hoặc Secure Shell là một cách rất phổ biến để thiết lập kết nối từ xa với máy tính Mac và Linux từ dòng lệnh. Nếu bạn là quản trị hệ thống hoặc nếu bạn đã bật SSH trên máy Mac vì một lý do khác thì cuối cùng bạn có thể phải đăng xuất kết nối SSH của người dùng khác. Có một số cách để kết thúc kết nối SSH của người dùng với máy Mac hoặc Linux cho vấn đề đó, các mẹo này cũng áp dụng tương tự và mình sẽ đề cập đến một vài trong số chúng.

Lưu ý rằng các phương pháp này sẽ hoạt động để đăng xuất kết nối SSH của người dùng, bất kể bạn đã bật SSH trên máy tính như thế nào. Cho dù máy Mac đang bật SSH bằng đăng nhập từ xa hay bật SSH bằng dòng lệnh không quan trọng cho những mục đích này. Tương tự như vậy, những thủ thuật này được viết với MacOS và Mac OS X nhưng cũng áp dụng tương tự để chấm dứt các tiến trình người dùng SSH trong Linux và hầu hết các phiên bản Unix khác.

1. Cách đăng xuất kết nối SSH người dùng

Có lẽ cách phổ biến nhất để đăng xuất người dùng được kết nối qua SSH là sử dụng lệnh kill hoặc pkill, nhắm mục tiêu trực tiếp để hủy các tiến trình SSH được đề cập hoặc trực tiếp vào tài khoản người dùng.

1.1. Đăng xuất SSH người dùng với lệnh kill

Đầu tiên, lấy ID của tiến trình (PID) của kết nối SSH của người dùng bằng lệnh sau:

Mã nguồn [Chọn]
$ ps aux | grep sshd

Tiếp theo, xác định vị trí tiến trình cụ thể của kết nối SSH của người dùng mục tiêu và nhắm mục tiêu đó với lệnh kill -9.

Giả sử chúng ta muốn chấm dứt kết nối SSH của người dùng vietnetwork và tiến trình cho 'sshd:vietnetwork@ttys011' có PID là 5821

Mã nguồn [Chọn]
$ kill -9 5821
Hiệu quả là ngay lập tức và khi người dùng kết thúc, họ sẽ thấy một thông báo trên màn hình cửa sổ dòng lệnh Terminal của họ cho biết: "Connection to localhost closed by remote host.Connection to localhost closed."

1.2. Đăng xuất SSH người dùng và các tiến trình liên quan bằng lệnh pkill

Một cách tiếp cận rộng hơn khác là loại bỏ tất cả các tiến trình thuộc một tài khoản người dùng cụ thể bằng lệnh pkill, điều này cho phép bạn chỉ cần nhắm mục tiêu một tài khoản người dùng cụ thể thay vì một ID của tiến trình:

Mã nguồn [Chọn]
$ pkill -u username
Điều này sẽ ngay lập tức đăng xuất 'username của người dùng bằng cách chấm dứt tất cả các tiến trình của người dùng đó.

Cách tiếp cận bằng lệnh pkill rất hữu ích vì nó cũng chấp nhận các ký tự đại diện và bạn cũng có thể dễ dàng nhắm mục tiêu một tiến trình theo tên nếu bạn muốn chấm dứt tất cả các tiến trình SSH chẳng hạn.

Có những khả năng khác để chấm dứt kết nối SSH của người dùng khác, nhưng các thủ thuật trên có lẽ là trực quan nhất cho những người dùng hiểu biết về dòng lệnh.

Về cơ bản, bất kỳ phương pháp nào cho phép bạn xem các tiến trình đang chạy và định vị kết nối SSH của người dùng mong đợi sẽ hoạt động để đạt được hiệu quả tương tự, kết thúc tiến trình đó sẽ dẫn đến đăng xuất người dùng đó khỏi SSH.

2. Đăng xuất người dùng SSH khỏi máy Mac với Activity Monitor

Nếu bạn là người dùng Mac thích sử dụng giao diện hình ảnh người dùng GUI, thì bạn cũng có thể sử dụng Activity Monitor để xác định nhiệm vụ và kết thúc nó theo cách đó, giống như cách bạn buộc thoát khỏi các ứng dụng Mac nói chung. Chỉ cần mở Activity Monitor, tìm kiếm 'SSH' và tìm kết nối SSH của người dùng mà bạn muốn kết thúc, sau đó chấm dứt tiến trình đó thông qua Activity Monitor.


Vì cách tiếp cận này sử dụng Activity Monitor, là một tiện ích riêng của Mac, nên phương pháp này rõ ràng sẽ không hoạt động đối với các máy chủ Linux vì chúng không có tiện ích đó, trong khi bất kỳ cách tiếp cận nào khác để nhắm mục tiêu tiến trình sẽ có.

Và chỉ trong trường hợp bạn đang thắc mắc, thì tất cả những điều này về cơ bản sẽ hoạt động giống với Telnet, Screen Sharing hoặc bất kỳ phương thức kết nối từ xa nào khác, bằng cách nhắm mục tiêu đến các tiến trình có liên quan cụ thể cho tài khoản người dùng đã đăng nhập.

Nếu bạn biết bất kỳ phương pháp hoặc cách tiếp cận nào khác để đăng xuất kết nối SSH của người dùng hoặc ngắt kết nối người dùng khỏi SSH, đừng quên chia sẻ với mọi người trong phần bình luận bên dưới.