Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách truyền tệp an toàn bằng SCP trong Linux

Cách truyền tệp an toàn bằng SCP trong Linux

Khi truy cập máy chủ Linux, bạn có một số tùy chọn. Nếu đó là máy chủ có giao diện người dùng, bạn có thể sử dụng VNC, nhưng tùy chọn phổ biến hơn là đăng nhập vào máy chủ không đầu bằng Secure Shell hoặc SSH. Đó là một giao thức được mã hóa, an toàn cho phép bạn truy cập vào hệ thống từ xa thông qua ứng dụng SSH. Tuy nhiên, bạn có thể chỉ muốn gửi một số tệp đến một máy chủ. Để làm được điều đó, bạn có thể sử dụng một chương trình được gọi là Bản sao an toàn, hoặc SCP, chạy trên giao thức SSH vững chắc để nhanh chóng chuyển các tệp qua mạng của bạn đến một hệ thống từ xa. Sau đây, chúng tôi hướng dẫn bạn cách chuyển tệp một cách an toàn bằng SCP trong Linux.

Định cấu hình SSH

Trên máy chủ của bạn (hoặc bất kỳ hệ thống từ xa nào bạn muốn truy cập), bạn sẽ cần cài đặt máy chủ SSH. Phổ biến nhất trên Linux là máy chủ OpenSSH. Để cài đặt nó, bạn có thể chạy một trong các lệnh sau:

# Debian/Ubuntu-based server
sudo apt install openssh-server
 
# Fedora/Centos
sudo dnf install openssh-server
Cách truyền tệp an toàn bằng SCP trong Linux

Tùy thuộc vào bản phân phối của bạn, bạn có thể cần cho phép SSH thông qua một số tường lửa phần mềm. Trên Ubuntu, sự cố này không tồn tại, nhưng trên CentOS, bạn cũng sẽ phải chạy các lệnh sau:

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
Cách truyền tệp an toàn bằng SCP trong Linux Cách truyền tệp an toàn bằng SCP trong Linux

Tại thời điểm này, bạn sẽ cần một ứng dụng khách SSH. Trên hầu hết các bản phân phối, bạn đã cài đặt ứng dụng khách OpenSSH. Tuy nhiên, nếu bạn chưa cài đặt, hãy cài đặt nó bằng lệnh sau:

# Debian/Ubuntu-based distro
sudo apt install openssh-client
 
# Fedora
sudo dnf install openssh-client

Kết nối với hệ thống của bạn qua SSH

Hãy đảm bảo SSH hoạt động trước khi cố gắng gây rối với SCP. Trước khi có thể kết nối qua SSH, bạn cần khám phá địa chỉ IP của máy chủ. Trên các máy chủ đồ họa, địa chỉ IP được hiển thị trong ứng dụng Mạng trong Cài đặt Hệ thống. Trên hầu hết các máy chủ, bạn nên sử dụng ip lệnh trên thiết bị đầu cuối.

ip a s
Cách truyền tệp an toàn bằng SCP trong Linux

Trong đầu ra, hãy tìm dòng bắt đầu bằng inet dưới eth0 hoặc enp1s0 , tùy thuộc vào cách giao diện mạng của bạn được kết nối với hệ thống. Trong trường hợp của tôi, đó là 192.168.122.201.

Để kiểm tra kết nối SSH, hãy chuyển đến máy khách Linux và nhập:

ssh user@192.168.122.201

Thay đổi “người dùng” thành tên người dùng thực trong máy chủ.

Cách truyền tệp an toàn bằng SCP trong Linux

Nhập mật khẩu của tài khoản đó và bạn đang kinh doanh. Nếu bạn nhận được câu hỏi về "tính xác thực của máy chủ lưu trữ không thể được thiết lập", chỉ cần trả lời "có" cho câu hỏi. Đây là một kiểm tra bảo mật được thiết kế để đảm bảo rằng bạn đang kết nối với máy chủ thực của mình chứ không phải là kẻ mạo danh. Bạn sẽ thấy lời nhắc tương tự xuất hiện trên hệ thống máy khách mà bạn thấy khi đăng nhập trực tiếp vào máy chủ và điều đó có nghĩa là kết nối của bạn đã thành công. Bạn cũng nên định cấu hình các kết nối SSH của mình để bảo mật tối đa trước khi tiếp tục bước tiếp theo.

Sử dụng SCP để truyền tệp

Bây giờ bạn đã kiểm tra kết nối SSH, bạn có thể bắt đầu sao chép tệp giữa hai máy. Sao chép an toàn được thực hiện bằng cách sử dụng scp yêu cầu. Định dạng cơ bản của scp lệnh là:

scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION

Ví dụ:để sao chép tệp “backup.txz” từ máy cục bộ vào thư mục “backup” trong thư mục chính của người dùng “maketecheasier” trên máy chủ từ xa có địa chỉ IP là 192.168.1.101, hãy sử dụng:

scp backup.txz maketecheasier@192.168.122.201:~/backups/
Cách truyền tệp an toàn bằng SCP trong Linux

Tương tự như khi bạn kết nối bằng ssh , bạn sẽ được nhắc nhập mật khẩu. Bạn sẽ không được nhắc nhập tên người dùng, vì tên người dùng đã được chỉ định trong lệnh.

Bạn cũng có thể sử dụng các thẻ đại diện như sau:

scp *.txz maketecheasier@192.168.122.201:~/backups/

Để sao chép tệp từ máy chủ từ xa sang máy cục bộ, chỉ cần đảo ngược các tham số:

scp maketecheasier@192.168.122.201:~/backups/backup.txz .

Lưu ý dấu chấm ở cuối lệnh có nghĩa là "thư mục hiện tại", giống như với cp chuẩn hoặc mv các lệnh. Bạn có thể dễ dàng chỉ định một số thư mục khác nếu bạn muốn.

scp -r maketecheasier@192.168.122.201:~/backups/ backups-from-server/

Và tương tự với các thẻ đại diện:

scp maketecheasier@192.168.122.201:~/backups/*.txz .

Để sao chép đệ quy một thư mục tới một máy chủ từ xa, hãy sử dụng -r tùy chọn:

scp -r backups/ maketecheasier@192.168.122.201:~/backups/

Và để sao chép một cách đệ quy một thư mục từ máy chủ từ xa sang máy cục bộ, hãy sử dụng:

scp -r scp -r maketecheasier@192.168.122.201:~/backups/ .

Các lệnh SCP khác cần thử

Để tiến bộ hơn nữa, hãy thử thử nghiệm với -C tùy chọn này cho phép nén trong khi sao chép hoặc -l tùy chọn này giới hạn băng thông trong quá trình sao chép.

Để chuyển tệp mà không cần nhập mật khẩu mọi lúc, bạn cũng có thể tạo khóa SSH riêng để kết nối với máy chủ của mình.