SSH SCP Tệp cục bộ đến từ xa trong Terminal Mac Os X


90

Tôi đang cố gắng sao chép tệp cục bộ 'magento.tar.gz' từ máy cục bộ của mình sang máy chủ từ xa bằng SSH thông qua VPN. Đây là kết nối với IP nội bộ của máy ảo mà tôi đã sử dụng là xx.xxxx ở đây.

Tôi có toàn quyền truy cập 'sudo' vào tài khoản SSH nên sẽ không có vấn đề gì khi sao chép qua. Tôi đã thử những cách sau:

Tôi đã thử cách sau (tệp magento.tar.gz đã có trong dir gốc cục bộ)

sudo scp magento.tar.gz user@xx.x.x.xx/var/www/

Điều này yêu cầu tôi nhập mật khẩu cục bộ của mình. Sau đó trở lạicp: user@xx.x.x.xx/var/www: Not a directory

sudo scp /Users/myname/magento.tar.gz user@xx.x.x.xx/var/www/

Trả về như cũ.

Tôi có cần đưa SSH vào đó không?

Tôi có cần kết nối qua SSH với trang web trước không?

Lưu ý bên: Tôi đã quản lý để kết nối qua SSH với máy chủ, duyệt đến thư mục và tạo một thư mục và xóa nó bằng cách sử dụng sudo mkdirvv vì vậy tôi chắc chắn có quyền.

Câu trả lời:


202

Lúc đầu, bạn cần thêm :sau địa chỉ IP để cho biết đường dẫn sau:

scp magento.tar.gz user@xx.x.x.xx:/var/www

Tôi không nghĩ rằng bạn cần phải sudosự scp. Trong trường hợp này, nó không ảnh hưởng đến máy từ xa, chỉ có lệnh cục bộ.

Sau đó, nếu user@ xx.xxxx của bạn không có quyền ghi vào /var/wwwthì bạn cần làm điều đó trong 2 lần:

Sao chép vào máy chủ từ xa trong thư mục chính của bạn ( :đại diện cho thư mục chính từ xa của bạn, sử dụng :subfolder/nếu cần hoặc :/home/user/cho đường dẫn đầy đủ):

scp magento.tar.gz user@xx.x.x.xx:

Sau đó, SSH và di chuyển tệp:

ssh user@xx.x.x.xx
sudo mv magento.tar.gz /var/www

Cảm ơn. Tôi đã thử nó với dấu hai chấm nhưng bị từ chối Quyền - Tôi đã được thông báo rằng tôi có toàn quyền truy cập sudo nên Quyền không phải là vấn đề.
James

1
Cảm ơn!!! Tôi phải SSH điều khiển từ xa và pwd để tìm thư mục mặc định mà tôi đã được đưa đến đó là / home / username - scp magento.tar.gz user@xx.xxxx: / home / username / đã thực hiện một mẹo nhỏ!
James

19

Chỉ để làm rõ câu trả lời do JScoobyCed đưa ra, lệnh scp không thể sao chép tệp vào thư mục yêu cầu quyền quản trị. Tuy nhiên, bạn có thể sử dụng lệnh scp để sao chép vào các thư mục thuộc về người dùng từ xa.

Vì vậy, để sao chép vào thư mục yêu cầu quyền root, trước tiên bạn phải sao chép tệp đó vào thư mục thuộc về người dùng từ xa bằng lệnh scp. Tiếp theo, bạn phải đăng nhập vào tài khoản từ xa bằng ssh. Sau khi đăng nhập, bạn có thể di chuyển tệp vào thư mục bạn chọn bằng cách sử dụng lệnh sudo mv. Tóm lại, các lệnh sử dụng như sau:

Sử dụng scp, sao chép tệp vào một thư mục trong tài khoản của người dùng từ xa, ví dụ như thư mục Documents:

scp /path/to/your/local/file remoteUser@some_address:/home/remoteUser/Documents

Tiếp theo, đăng nhập vào tài khoản của người dùng từ xa bằng ssh và sau đó di chuyển tệp vào thư mục hạn chế bằng sudo:

ssh remoteUser@some_address
sudo mv /home/remoteUser/Documents/file /var/www

0

Chú ý rằng tên tệp của bạn cũng không có :trong chúng. Tôi thấy rằng tôi phải mv blah-07-08-17-02:69.txt no_colons.txtvà sau scp no-colons.txt server:đó đừng quên mvquay lại máy chủ. Chỉ trong trường hợp đây là một vấn đề.


1
Đó không phải là vấn đề nếu bạn chỉ thêm vào ./trước tên địa phương, nhưscp ./blah-07-08-17-02:69.txt server:
Anders Tornblad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.