Tìm hiểu cách quản lý kết nối từ xa qua SSH
Giao thức Secure Shell là một cách phổ biến để kết nối với một máy từ xa thông qua các ứng dụng máy khách / máy chủ. Nó sử dụng một bộ công cụ như ssh, scp và sftp, trong số nhiều bộ khác, để đảm bảo quy trình xác thực an toàn và giao tiếp được mã hóa sau đó. Do đó, các công cụ này thay thế các bộ công cụ thực thi lệnh từ xa cũ khác như telnet, rcp và rlogin.
Trong hướng dẫn này, bạn sẽ học cách cài đặt và kích hoạt dịch vụ máy chủ / ứng dụng khách OpenSSH trong máy của mình. Nó cũng bao gồm tất cả các lệnh cần thiết (công cụ SSH) để truy cập và quản lý từ xa hệ thống cũng như chuyển các tệp ở giữa.
Mục Lục
Bắt đầu với SSH
Theo mặc định, hầu hết các hệ thống Linux bao gồm các ứng dụng máy khách và máy chủ ssh. Các gói bao gồm các công cụ ssh trong bản phân phối RHEL và Fedora là openssh, openssh-server và openssh-client. Sử dụng grep lệnh để tìm nạp các công cụ ssh từ danh sách đã cài đặt:
yum list installed | grep openssh
Trong khi Ubuntu chỉ bao gồm một gói openssh-client cũng chứa một gói openssh. Sử dụng lệnh grep để liệt kê các gói openssh trong Ubuntu, như sau:
sudo dpkg --list | grep openssh
sudo apt-get install openssh-server
Khởi tạo / Bật dịch vụ SSH
Việc quản lý dịch vụ openssh có thể khác nhau giữa các bản phân phối và bất kể cấu hình mặc định là gì, nó không tự động khởi động. Sử dụng nhóm lệnh sau để đảm bảo dịch vụ được thiết lập và chạy trên máy Linux của bạn:
systemctl status sshd.service #for Fedora and RHEL
systemctl status ssh #for Ubuntu
Nếu nó không chạy, hãy kiểm tra trạng thái dịch vụ như sau:
systemctl start sshd.service #for Fedora and RHEL
systemctl ssh start #for Ubuntu
Để khởi động máy chủ openssh ngay khi hệ thống khởi động:
systemctl enable sshd.service
systemctl ssh enable
Trong số nhiều công cụ khác để sử dụng giao thức SSH để truy cập từ xa hệ thống Linux, công cụ thường được sử dụng nhất là lệnh ssh để thực thi mã từ xa và đăng nhập, trong đó scp và rsync hữu ích trong việc sao chép một hoặc nhiều tệp giữa máy khách và máy chủ.
Phần này trình bày chi tiết chuyên sâu về các lệnh đã thảo luận ở trên để quản lý từ xa hiệu quả.
Đăng nhập từ xa
SSH là lệnh mà bạn sẽ thường sử dụng nhất để cấu hình từ xa của máy chủ Linux đang chạy dịch vụ sshd. Sử dụng lệnh ssh để xác minh xem bạn có thể đăng nhập vào máy chủ Linux của mình để thực thi lệnh hay không.
Bạn có thể sử dụng một máy Linux khác để đăng nhập vào máy chủ của mình hoặc bạn có thể có ý tưởng về nó bằng cách mô phỏng nó qua localhost như sau:
Để đăng nhập từ xa vào tài khoản Ubuntu tại XXXX (trong đó XXXX là địa chỉ IP của thiết bị từ xa):
ssh ubuntu@X.X.X.X
Để đăng nhập từ xa với tư cách là người dùng cục bộ:
ssh localhost
Nếu bạn đăng nhập lần đầu tiên vào máy chủ từ xa, nó sẽ nhắc bạn xác nhận để kết nối với hệ thống, hãy nhập Đúng và nhập mật khẩu tài khoản người dùng.
Sau khi đăng nhập, bạn có thể tiếp tục thực hiện lệnh từ xa vì nó tương tự như đăng nhập thông thường, với sự khác biệt duy nhất là giao tiếp từ xa được mã hóa.
Sau khi hoàn tất, hãy nhập lối ra lệnh để kết thúc phiên và quay trở lại hệ thống cục bộ của bạn. Nếu nó không đóng được vỏ điều khiển từ xa, ~. các phím cũng thực hiện tác vụ tương tự và xuất ra ‘Kết nối với XXXX đã đóng’.
Thực thi từ xa
Lệnh ssh cho phép thực hiện các lệnh trên hệ thống từ xa và trả về kết quả đầu ra trên máy cục bộ. Ví dụ,
Lệnh sau chạy với tư cách người dùng ubuntu trên máy chủ từ xa và trả về tên máy chủ:
ssh ubuntu@X.X.X.X hostname
Để thực hiện một lệnh bao gồm các tùy chọn hoặc cờ, hãy đặt nó trong dấu ngoặc kép như sau:
ssh ubuntu@X.X.X.X "cat /tmp/new_file"
Lệnh trên trả về nội dung của tệp trên trên màn hình cục bộ của bạn.
Bạn cũng có thể chạy nhiều lệnh mà không cần kết nối lại mỗi lần bằng cách bật chuyển tiếp X11 trên máy chủ của mình. Mở sshd_config tập tin bên trong / etc / ssh thư mục và thiết lập Chuyển tiếp X11 đến Đúng như sau:
Bây giờ hãy chạy các lệnh như sau:
ssh -X ubuntu@X.X.X.X hostname & cat /tmp/new_file/ & exit
Sao chép tệp qua scp và rsync
Các scp lệnh cho phép bạn chuyển / sao chép các tập tin từ xa vào hệ thống cục bộ và ngược lại. Chức năng của nó tương tự như lệnh rcp nhưng với giao tiếp được mã hóa RSA. Một số ví dụ sau đây.
Sao chép tập tin từ / etc / demo thư mục của máy từ xa đến / tmp thư mục như sau:
scp ubuntu@X.X.X.X:/home/ubuntu/demo/file /tmp
Điều này cũng cho phép sao chép đệ quy, có nghĩa là bạn có thể cung cấp lệnh với một thư mục và nó sao chép tất cả các tệp / thư mục trong hệ thống phân cấp sang một thư mục cục bộ khác.
scp -r localhost:/home/ubuntu/ /tmp
Bạn cũng có thể sử dụng lệnh scp để sao lưu tệp và thư mục, nhưng rsync là tiện ích sao lưu tốt hơn vì một số lý do:
-
scp không có khả năng giữ lại quyền đối với tệp / thư mục và thời gian / ngày tháng.
-
Nó cũng không thể xác định các tệp và thư mục đã được sao chép.
Bây giờ liệt kê nội dung của các thư mục trên để xem các quyền và thời gian tạo tệp, như sau:
ls -l /etc/demo /tmp/demo
Lặp lại lệnh scp ở trên và liệt kê lại các thư mục để kiểm tra xem nó có thay thế tệp / thư mục đã được sao chép từ dấu thời gian của nó hay không:
Các -p cờ đối với lệnh scp có thể giúp bảo toàn dấu thời gian hoặc quyền ghi, nhưng nó vẫn thay thế các tệp đã được sao chép. Để khắc phục những thiếu sót này, hãy sử dụng rsync như một công cụ sao lưu. Xóa các tệp trước tiên trong / tmp để tiếp tục với ví dụ bên dưới. Sử dụng lệnh rsync với -Một cờ cho lưu trữ đệ quy và -v tùy chọn chi tiết để sao chép / home / ubuntu / demo tập tin vào / tmp thư mục, như sau:
rsync -av ubuntu@X.X.X.X:/home/ubuntu/demo /tmp
Liệt kê / tmp thư mục cần lưu ý cách nó bảo toàn thời gian tạo tệp hoặc thư mục.
Cuối cùng, chạy lại rsync lệnh để xác minh nó không sao chép bất kỳ tệp nào.
Tìm hiểu SSH
Bài viết là hướng dẫn về giao thức được sử dụng rộng rãi nhất để quản lý từ xa các máy chủ Linux. Chúng tôi hiển thị cách sử dụng các lệnh SSH quan trọng nhất cùng với một số mẹo và thủ thuật để dễ dàng thực hiện tác vụ sao chép và quản lý tệp.
Bắt đầu hiểu các lệnh / công cụ SSH và chức năng của chúng có thể thay đổi quan điểm của bạn về quản lý hệ thống / máy chủ vì nó mở khóa khả năng của không chỉ SSH mà còn cả thiết bị đầu cuối Linux. Đây là một công cụ mạnh mẽ cung cấp khả năng bảo mật đáng kể, cùng với các chức năng khác quá nâng cao để có thể trình bày trong một hướng dẫn duy nhất.
Đọc tiếp
Giới thiệu về tác giả