Giới thiệu: Trong quản lý từ xa hiện đại, SSH (SecureShell) đã trở thành một trong những giao thức được sử dụng phổ biến cho nhiều quản trị viên hệ thống, nhà phát triển và người dùng cuối. SSH cho phép đăng nhập từ xa an toàn vào một máy tính khác cho nhiều hoạt động khác nhau. Trong số đó, có những lúc chúng ta cần chạy một số lệnh nhất định trong nền mà không bị ảnh hưởng bởi sự sụt giảm trong phiên đầu cuối nền trước. Trong trường hợp này, chúng ta có thể sử dụng lệnh nohup để đạt được yêu cầu này. Bài viết này sẽ trình bày chi tiết cách chạy lệnh với SSH và sử dụng lệnh nohup ở chế độ nền. 1. Giới thiệu những điều cơ bản về SSH SSH là một giao thức mạng được sử dụng để truy cập an toàn vào các máy tính từ xa. Với SSH, chúng ta có thể thực hiện các lệnh trên máy tính từ xa trên máy tính cục bộ, để đạt được quản lý từ xa, truyền tệp và các hoạt động khác. Các lệnh SSH cơ bản bao gồm ssh và scp. Lệnh ssh được sử dụng để thiết lập kết nối SSH và thực hiện các lệnh từ xa. 2. Chạy lệnh trong SSH Sau khi đăng nhập vào máy tính từ xa thông qua SSH, chúng ta có thể thực hiện các lệnh khác nhau trong thiết bị đầu cuối. Các lệnh này giống như các lệnh được thực thi trong thiết bị đầu cuối cục bộ. Chúng ta có thể chạy các lệnh hệ thống, viết tập lệnh, v.v., trong một phiên SSH. 3. Sử dụng lệnh nohup để chạy lệnh trong nền Khi chúng ta thực hiện một lệnh trong một phiên SSH, lệnh sẽ ngừng chạy ngay sau khi đóng phiên đầu cuối. Tuy nhiên, có những lúc chúng ta cần giữ cho các lệnh chạy trong nền, độc lập với phiên nền trước. Trong trường hợp này, chúng ta có thể sử dụng lệnh nohup để đạt được yêu cầu này. Lệnh nohup cho phép lệnh chạy trong nền và bỏ qua tất cả các tín hiệu gác máy. Điều này có nghĩa là ngay cả khi chúng tôi đóng phiên SSH hoặc ngắt kết nối mạng, các lệnh do nohup bắt đầu vẫn sẽ tiếp tục chạy. Cú pháp cơ bản để sử dụng lệnh nohup như sau: nohupcommand>/dev/null2>&1& Trong số đó, "command" là lệnh để chạy, ">/dev/null2>&1" là chuyển hướng đầu ra đến một thiết bị trống để tránh nhiễu đầu ra, và "&" có nghĩa là đặt lệnh vào nền để chạy. 4. Ví dụ: Sử dụng SSH và nohup để chạy lệnh Giả sử chúng ta muốn chạy một tập lệnh có tên myscript.sh trên một máy chủ từ xa và muốn nó chạy liên tục trong nền mà không bị ảnh hưởng bởi việc giảm phiên SSH. Chúng ta có thể làm theo các bước sau: 1. Sử dụng lệnh ssh để đăng nhập vào máy chủ từ xa. Ví dụ: sshuser@remote_server. 2. Trên máy chủ từ xa, điều hướng đến thư mục chứa tập lệnh. Ví dụ: cd/path/to/script. 3. Chạy tập lệnh bằng lệnh nohup. Ví dụ: nohup./myscript.sh>/dev/null2>&1&. 4. Nhìn vào tệp nohup.out để có được đầu ra của lệnh (lưu đầu ra vào tệp nếu bạn cần). Ví dụ: catnohup.out. 5. Các biện pháp phòng ngừa và câu hỏi thường gặp 1. Đảm bảo cài đặt tường lửa trên máy chủ từ xa cho phép kết nối SSH và truy cập vào các cổng mong muốn. 2. Khi sử dụng lệnh nohup, hãy đảm bảo bạn có đủ quyền để thực hiện hành động mong muốn. 3. Để tránh các vấn đề về quyền, bạn có thể thử sử dụng lệnh sudo để thực hiện các lệnh yêu cầu đặc quyền quản trị viên. Nhưng hãy sử dụng nó một cách thận trọng để tránh tổn thất do hoạt động ngẫu nhiên. Xin lưu ý rằng mật khẩu được sử dụng bởi "sudo" sẽ không được hiển thị trên thiết bị đầu cuối để bảo mật. Nếu không có phản hồi hoặc lỗi sau khi nhập mật khẩu của bạn, hãy thử nhập lại hoặc kiểm tra xem lệnh bạn đã nhập có chính xác không. Ngoài ra, hãy đảm bảo rằng bạn có đủ quyền để thực hiện các hành động cần thiết. Lệnh "sudo" thường yêu cầu đặc quyền quản trị viên để thực hiện một số hành động nhất định, vì vậy hãy đảm bảo bạn có các đặc quyền thích hợp hoặc đăng nhập bằng người dùng có đặc quyền quản trị viên. "Sudo" là một công cụ mạnh mẽ, nhưng nó cũng nên được sử dụng thận trọng để tránh những rủi ro tiềm ẩn như vô tình sửa đổi cài đặt hệ thống hoặc xóa các tệp quan trọng. Lệnh "nohup" đảm bảo rằng lệnh tiếp tục chạy ngay cả sau khi đóng phiên đầu cuối, rất hữu ích cho các quy trình chạy dài. Lệnh "nohup" sẽ bỏ qua tín hiệu treo máy và tiếp tục thực hiện lệnh trong khi chuyển hướng đầu ra của nó đến một tệp có tên là "nohup.out" để tránh bất kỳ nhiễu đầu ra nào. Tóm lại, tôi hy vọng rằng việc giới thiệu "SSH Running Commands in the Background: Introduction to Use Nohup Commands" có thể giúp bạn hiểu rõ hơn về cách sử dụng lệnh SSH và nohup để chạy lệnh trong nền. "Nếu bạn gặp bất kỳ vấn đề hoặc nhầm lẫn nào trong quá trình phẫu thuật thực tế, vui lòng yêu cầu chúng tôi giúp đỡ và hỗ trợ." Ngoài ra, bạn có thể tham khảo tài liệu hoặc các hướng dẫn khác để biết thêm thông tin chi tiết về các tính năng và tùy chọn nâng cao hơn để chạy nền bằng cách sử dụng các lệnh SSH và nohup, chẳng hạn như thiết lập các tác vụ theo lịch trình. Tóm lại, "SSH và nohup là sự kết hợp mạnh mẽ của các công cụ" có thể giúp bạn đạt được mục đích quản lý từ xa và tự động hóa các tác vụ. "Hy vọng rằng, bài viết này sẽ giúp bạn sử dụng tốt hơn các công cụ này cho công việc hàng ngày và các nhiệm vụ hành chính của bạn."