sao chép scp qua ssh không hoạt động - xin phép từ chối lỗi?


83

Nó đang khiến tôi phát điên! Tôi chỉ muốn chuyển một tập tin đơn giản từ máy tính xách tay sang máy chủ.

Tôi đang sử dụng Ubuntu trên cả hai máy.

Vì vậy, tôi có:

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

Và tôi đang gửi nó bằng cách sử dụng:

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

Va tôi lây: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

ps Tôi có thể làm theo cách này - tôi muốn gửi tệp tar.gz nằm trên máy tính để bàn của mình, đến máy chủ từ xa vào thư mục / media / yadayda


2
Trong trường hợp của tôi, đó là lý do bảo mật ở phía bên nhận, tôi phải kiểm tra thư mục để cho phép người dùng từ xa ghi tệp (i chmod 777 thư mục - nhưng đó là phòng thí nghiệm nội bộ)
ilansch

Câu trả lời:


95

Bạn có những thứ theo đúng thứ tự từ những gì tôi hiểu, cách chung để thực hiện một scp là:

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

Đánh giá theo câu hỏi của bạn, bạn có một tệp cục bộ mà bạn muốn gửi đến máy chủ đích. Vì vậy, bạn có cú pháp đúng đó là tốt!

Nếu bạn bị từ chối cấp phép, thì bạn không sử dụng tên người dùng chính xác hoặc có gì đó không ổn với xác thực. Rất có thể, đó là vì lệnh sudo chỉ hoạt động cục bộ, cho người mới bắt đầu, vì vậy nó sẽ không cung cấp cho bạn root trên hộp từ xa, vì vậy đó có lẽ là vấn đề. Đảm bảo rằng người dùng bạn đang đăng nhập như trên máy chủ từ xa có quyền ghi vào vị trí bạn đang cố ghi.

Nếu vấn đề là người sử dụng đích không có quyền truy cập vào vị trí đó mà không có sudo, hãy di chuyển tệp đến thư mục nhà của người đến sau đó sudo mv tệp từ trình bao trên máy chủ khác để đặt nó vào đúng vị trí.


9
Cảm ơn bạn, tôi đã phải thêm quyền ghi vào thư mục đích
PiKey

@PiKey Đây phải là một câu trả lời
Code-Guru

39

Hi có vấn đề lỗi quyền tương tự đã giải quyết nó theo cách này

Đảm bảo thư mục bạn đang sao chép vào 192.168.0.4được sở hữu bởi tên người dùng

chown username downloads

Trên máy cục bộ của bạn thì làm

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

Chúc mừng


thx, là quyền, cụ thể ở đây tôi phải sử dụng chmodtrên thư mục đích ở máy chủ từ xa
Aquarius Power

26

Permisssion Denied có nghĩa là bạn không phải là root của máy chủ. Bạn chỉ cần giữ một tài khoản ở đó. Vì vậy, trong trường hợp đó bạn cần phải làm điều này:

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

Điều này sẽ sao chép vào thư mục nhà của bạn trên máy chủ.

Điều này cũng sẽ làm việc:

scp -r /path2yourFolder/ username@server_Ip:~/

2
phao cứu sinh! : ~ / đã làm điều đó cho tôi.
trdavidson

~/thực sự là cách, -rlà để sao chép đệ quy toàn bộ thư mục.
Noam Manos

9

Lỗi này xảy ra với tôi khi tệp đã tồn tại ở vị trí đích và tệp hiện có quyền chỉ đọc (ngăn không cho tệp bị ghi đè). Trong trường hợp của tôi, tôi chỉ cần đăng nhập và xóa tệp hiện có và điều đó đã khắc phục vấn đề.


7

Tôi đã có một vấn đề tương tự, nó đã xảy ra bởi vì sshphải -p xxxxchỉ định cổng trong khi scpphải -P xxxxchỉ định cổng. Sự không nhất quán nhỏ, rất dễ bỏ lỡ :(


Khen ngợi bạn. Đừng scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
bận

0

Có cùng một vấn đề. Tôi phát hiện ra rằng thư mục chứa tệp nguồn của tôi không có đủ quyền. Vì vậy, tôi chỉ thay đổi chế độ đệ quy bằng cách sử dụng: chmod -R 771 directory_pathtrên máy nguồn.


0

Tôi đã cố gắng sao chép từ máy cục bộ của tôi như username@localhost; Khóa SSH tôi đang sử dụng chưa được đăng ký để truy cập localhost của tôi, vì vậy tôi đã bị từ chối cấp phép. Khi tôi loại bỏ nó khỏi phần nguồn , nó đã hoạt động.

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.