Quản trị viên Linux nên quen thuộc với CLI môi trường. Từ GUI chế độ trong máy chủ Linux không phổ biến được cài đặt. SSH có thể là giao thức phổ biến nhất cho phép quản trị viên Linux quản lý các máy chủ thông qua cách bảo mật từ xa. Tích hợp sẵn với SSH lệnh có SCP chỉ huy. SCP được sử dụng để sao chép (các) tệp giữa các máy chủ một cách an toàn.

[ You might also like: How to Secure and Harden OpenSSH Server ]

Lệnh SCP của Linux
10 lệnh SCP của Linux

Cú pháp cơ bản của lệnh SCP

Lệnh dưới đây sẽ đọc là “sao chép source_file_name” vào trong “thư mục đích” tại “Desti_host”Sử dụng“tài khoản tên người dùng”.

scp source_file_name u[email protected]_host:destination_folder

Có nhiều tham số trong SCP lệnh mà bạn có thể sử dụng. Dưới đây là các thông số có thể sử dụng hàng ngày.

Cung cấp thông tin chi tiết của quy trình SCP bằng tham số -v

Cơ bản SCP lệnh không có tham số sẽ sao chép các tệp trong nền. Người dùng sẽ không thấy gì trừ khi quá trình được thực hiện hoặc một số lỗi xuất hiện.

Bạn có thể dùng “-v”Để in thông tin gỡ lỗi ra màn hình. Nó có thể giúp bạn gỡ lỗi các vấn đề về kết nối, xác thực và cấu hình.

[email protected] ~/Documents $ scp -v Label.pdf [email protected]@202.x.x.x:.
Đầu ra mẫu
SCP Hiện Tiến Trình Trong Khi Sao Chép Tập Tin
Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
Sending file modes: C0770 3760348 Label.pdf
Sink: C0770 3760348 Label.pdf
Label.pdf 100% 3672KB 136.0KB/s 00:27
Transferred: sent 3766304, received 3000 bytes, in 65.2 seconds
Bytes per second: sent 57766.4, received 46.0
debug1: Exit status 0

Cung cấp thời gian sửa đổi, thời gian truy cập và chế độ từ tệp gốc

Các “-P”Sẽ giúp bạn điều này. Thời gian ước tính và tốc độ kết nối sẽ xuất hiện trên màn hình.

[email protected] ~/Documents $ scp -p Label.pdf [email protected]:.
Đầu ra mẫu
SCP Ước tính thời gian cần thiết để sao chép tệp lớn
[email protected]'s password:
Label.pdf 100% 3672KB 126.6KB/s 00:29

Giúp truyền tệp nhanh hơn bằng cách sử dụng tham số -C

Một trong những tham số có thể chuyển tệp của bạn nhanh hơn là “-NS” tham số. Các “-NSTham số ”sẽ nén các tệp của bạn khi đang di chuyển. Điều duy nhất là nén chỉ xảy ra trong mạng. Khi tệp đã đến máy chủ đích, tệp sẽ trở lại kích thước ban đầu như trước khi quá trình nén diễn ra.

See also  Giám sát hiệu suất Linux với các lệnh Vmstat và Iostat

Hãy xem các lệnh này. Nó đang sử dụng một tệp duy nhất của 93 Mb.

[email protected] ~/Documents $ scp -pv messages.log [email protected]:.
Đầu ra mẫu
SCP truyền tệp mà không cần nén
Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380425711
Sending file timestamps: T1323853868 0 1380425711 0
messages.log 100% 93MB 58.6KB/s 27:05
Transferred: sent 97614832, received 25976 bytes, in 1661.3 seconds
Bytes per second: sent 58758.4, received 15.6
debug1: Exit status 0

Sao chép tệp mà không có “-NSTham số ”sẽ dẫn đến 1661,3 giây. Bạn có thể so sánh kết quả với lệnh bên dưới bằng cách sử dụng “-NS” tham số.

[email protected] ~/Documents $ scp -Cpv messages.log [email protected]:.
Đầu ra mẫu
SCP truyền tệp nhanh hơn bằng cách sử dụng nén
Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t .
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: channel 0: new [client-session]
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380428748
Sending file timestamps: T1323853868 0 1380428748 0
Sink: T1323853868 0 1380428748 0
Sending file modes: C0600 97517300 messages.log
messages.log 100% 93MB 602.7KB/s 02:38
Transferred: sent 8905840, received 15768 bytes, in 162.5 seconds
Bytes per second: sent 54813.9, received 97.0
debug1: Exit status 0
debug1: compress outgoing: raw data 97571111, compressed 8806191, factor 0.09
debug1: compress incoming: raw data 7885, compressed 3821, factor 0.48

Như bạn có thể thấy, khi bạn đang sử dụng tính năng nén, quá trình truyền được thực hiện trong 162,5 giây. Nó là 10 nhanh hơn nhiều lần so với việc không sử dụng “-NS” tham số. Nếu bạn đang sao chép nhiều tệp trên mạng, “-NS”Sẽ giúp bạn giảm tổng thời gian bạn cần.

Điều mà chúng ta cần lưu ý là phương pháp nén sẽ không hoạt động trên bất kỳ tệp nào. Khi tệp nguồn đã được nén, bạn sẽ không tìm thấy bất kỳ cải tiến nào ở đó. Các tệp như .zip, .rar, những bức ảnh, và .iso các tệp sẽ không bị ảnh hưởng bởi “-NS” tham số.

Thay đổi mật mã SCP để mã hóa tệp

Theo mặc định SCP sử dụng “AES-128”Để mã hóa tệp. Nếu bạn muốn thay đổi mật mã khác để mã hóa nó, bạn có thể sử dụng “-NS” tham số. Hãy xem lệnh này.

[email protected] ~/Documents $ scp -c 3des Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

Lệnh trên cho biết SCP sử dụng Thuật toán 3des để mã hóa tệp. Hãy cẩn thận rằng tham số này sử dụng “-NS” không phải “-NS“.

See also  13 Lệnh xử lý sự cố và cấu hình mạng Linux

Hạn chế sử dụng băng thông với lệnh SCP

Một tham số khác có thể hữu ích là “-l” tham số. Các “-lTham số ”sẽ giới hạn băng thông sử dụng. Nó sẽ hữu ích nếu bạn thực hiện một tập lệnh tự động hóa để sao chép nhiều tệp, nhưng bạn không muốn băng thông bị tiêu hao bởi SCP tiến trình.

[email protected] ~/Documents $ scp -l 400 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 50.3KB/s 01:13

Các 400 giá trị đằng sau “-l”Có nghĩa là chúng tôi giới hạn băng thông cho SCP quy trình để chỉ 50 KB / giây. Một điều cần nhớ là băng thông được chỉ định trong Kilobits/giây (kb / giây). Nó có nghĩa là 8 bit bằng 1 byte.

Trong khi SCP đếm trong Kilobyte/giây (KB / s). Vì vậy, nếu bạn muốn giới hạn băng thông của mình cho SCP tối đa chỉ 50 KB / s, bạn cần đặt nó thành 50 x 8 = 400.

Chỉ định cổng cụ thể để sử dụng với SCP

Thông thường, SCP đang sử dụng cổng 22 như một cổng mặc định. Nhưng vì lý do bảo mật, bạn có thể thay đổi cổng này thành cổng khác. Ví dụ: chúng tôi đang sử dụng cổng 2249. Sau đó, lệnh sẽ như thế này.

[email protected] ~/Documents $ scp -P 2249 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 262.3KB/s 00:14

Đảm bảo rằng nó sử dụng vốn “P” không phải “P” từ “P”Đã được sử dụng cho các chế độ và thời gian được bảo toàn.

Sao chép các tệp bên trong thư mục một cách đệ quy

Đôi khi chúng ta cần sao chép thư mục và tất cả tệp / thư mục bên trong nó. Sẽ tốt hơn nếu chúng ta có thể làm điều đó trong 1 chỉ huy. SCP hỗ trợ tình huống đó bằng cách sử dụng “-NS” tham số.

[email protected] ~/Documents $ scp -r documents [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13
scp.txt 100% 10KB 9.8KB/s 00:00

Khi quá trình sao chép hoàn tất, tại máy chủ đích, bạn sẽ tìm thấy một thư mục có tên “các tài liệu”Với tất cả các tệp của nó. Thư mục “các tài liệu”Được tạo tự động.

Tắt đồng hồ đo tiến trình và thông báo cảnh báo / chẩn đoán

Nếu bạn chọn không xem đồng hồ đo tiến trình và thông báo cảnh báo / chẩn đoán từ SCP, bạn có thể tắt nó bằng cách sử dụng “-NS” tham số. Đây là ví dụ.

[email protected] ~/Documents $ scp -q Label.pdf [email protected]:.

[email protected]'s password:
[email protected] ~/Documents $

Như bạn có thể thấy, sau khi bạn nhập mật khẩu, không có thông tin nào về quá trình SCP. Sau khi quá trình hoàn tất, bạn sẽ thấy một thông báo nhắc lại.

See also  15 Lệnh “ifconfig” hữu ích để định cấu hình giao diện mạng trong Linux

Sao chép tệp bằng SCP thông qua Proxy

Máy chủ proxy thường được sử dụng trong môi trường văn phòng. Về cơ bản, SCP không được định cấu hình proxy. Khi môi trường của bạn sử dụng proxy, bạn phải “bảo” SCP giao tiếp với proxy.

Đây là tình huống. Địa chỉ proxy là 10.0,96,6 và cổng proxy là 8080. Proxy cũng triển khai xác thực người dùng. Trước tiên, bạn cần tạo “~ / .ssh / config ” tập tin. Thứ hai, bạn đặt lệnh này bên trong nó.

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

Sau đó, bạn cần tạo tệp “~ / .ssh / proxyauth”Chứa.

myusername:mypassword

Sau đó, bạn có thể thực hiện SCP trong suốt như bình thường.

Vui lòng lưu ý rằng vít nút có thể chưa được cài đặt trên hệ thống của bạn. Trên Linux Mint của tôi, trước tiên tôi cần cài đặt nó, sử dụng quy trình cài đặt Linux Mint tiêu chuẩn.

$ apt-get install corkscrew

Đối với các hệ thống dựa trên yum khác, người dùng có thể cài đặt nút vặn bằng cách sử dụng lệnh yum sau.

# yum install corkscrew

Một điều nữa là kể từ khi “~ / .ssh / proxyauth”Tệp chứa“tên tài khoản” và “mật khẩu mở khóa”Ở định dạng văn bản rõ ràng, vui lòng đảm bảo rằng chỉ bạn mới có thể truy cập tệp.

Chọn tệp ssh_config khác

Đối với những người dùng di động thường xuyên chuyển đổi giữa mạng công ty và mạng công cộng, sẽ rất khó khăn khi phải luôn thay đổi cài đặt trong SCP. Sẽ tốt hơn nếu chúng ta có thể đặt một ssh_config tệp để phù hợp với nhu cầu của chúng tôi.

Đây là một tình huống mẫu

Proxy được sử dụng trong mạng công ty nhưng không sử dụng trong mạng công cộng và bạn thường xuyên chuyển đổi mạng.

[email protected] ~/Documents $ scp -F /home/pungki/proxy_ssh_config Label.pdf

[email protected]:.
[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

Theo mặc định “ssh_config“Tệp cho mỗi người dùng sẽ được đặt trong”~ / .ssh / config“. Tạo một “ssh_config”Có khả năng tương thích với proxy sẽ giúp chuyển đổi giữa các mạng dễ dàng hơn.

Khi bạn ở trên mạng công ty, bạn có thể sử dụng “-NS” tham số. Khi bạn đang ở trên một mạng công cộng, bạn có thể bỏ qua “-NS” tham số.

[ You might also like: Pscp – Transfer/Copy Files to Multiple Linux Servers Using Single Shell ]

Đó là tất cả về SCP. Bạn có thể thấy trang người đàn ông của SCP để biết thêm chi tiết. Xin vui lòng để lại ý kiến ​​và đề xuất.

By admin

Leave a Reply