Chuyển tập tin bằng scp: quyền bị từ chối


23

Tôi cố gắng chuyển tập tin từ máy tính từ xa bằng sshmáy tính của mình:

scp My_file.txt user_id@server:/Home

Điều này sẽ đặt My_file.txt vào thư mục nhà trên máy tính của riêng tôi, phải không? tôi có

scp / Home: sự cho phép bị từ chối

Ngoài ra khi tôi thử : ...@server:/Desktop, để sao chép các tệp từ máy tính từ xa vào máy tính để bàn của tôi.

Tôi đang làm gì sai?


1
Nếu bạn muốn sao chép tệp vào thư mục chính của 'user_id', hãy sử dụng scp My_file.txt user_id@server:Nó sao chép vào thư mục nhà của người dùng.
Manula Waidyanatha

Câu trả lời:


36

Các lệnh của bạn đang cố gắng đặt Tài liệu mới vào thư mục gốc ( /) của máy. Những gì bạn muốn làm là để chuyển chúng đến bạn nhà thư mục (kể từ khi bạn không có quyền truy cập để ghi vào /). Nếu đường dẫn đến nhà của bạn là một cái gì đó giống như /home/erezthử như sau:

scp My_file.txt user_id@server:/home/erez/

Bạn có thể thay thế đường dẫn đến thư mục chính của bạn bằng phím tắt ~/, vì vậy những điều sau đây sẽ có tác dụng tương tự:

scp My_file.txt user_id@server:~/

Bạn thậm chí có thể rời khỏi đường dẫn hoàn toàn ở phía xa; điều này có nghĩa là thư mục nhà của bạn.

scp My_file.txt user_id@server:

Đó là, để sao chép tệp vào máy tính để bàn của bạn, bạn có thể muốn chuyển nó sang /home/erez/Desktop/:

scp My_file.txt user_id@server:/home/erez/Desktop/

hoặc sử dụng phím tắt:

scp My_file.txt user_id@server:~/Desktop/

hoặc sử dụng một đường dẫn tương đối ở phía xa, được hiểu là liên quan đến thư mục chính của bạn:

scp My_file.txt user_id@server:Desktop/

Chỉnh sửa:

Như @ckhan đã đề cập, bạn cũng phải trao đổi các đối số, nó phải được

scp FROM TO

Vì vậy, nếu bạn muốn sao chép tệp My_file.txttừ máy chủ user_id@servervào máy tính để bàn của mình, bạn nên thử các cách sau:

scp user_id@server:/path/to/My_file.txt ~/Desktop/

Nếu tệp My_file.txtđược đặt trong thư mục chính của bạn trên máy chủ, bạn có thể sử dụng lại phím tắt:

scp user_id@server:~/My_file.txt ~/Desktop/

- Tôi đã thử: "~ /" cho 'Trang chủ' bây giờ và cả "~ / Máy tính để bàn /. Cả hai đều cho kết quả: My_file.txt 100% 0 0,0 KB / s 00:00 và tôi không thể thấy các tệp trong Tôi vẫn đang làm gì sai? Cảm ơn rất nhiều!
Erez

Trong ví dụ lệnh thứ hai của bạn, ~cần được bảo vệ khỏi đánh giá để được đánh giá trên máy chủ từ xa: \~chẳng hạn.
dan

1
Để cảm ơn bạn, tôi đã đăng ký vào trang web. Cảm ơn bạn đã cứu ngày của tôi :)
Quảng cáo Infinitum

6

Tôi đến đây vì "Chuyển tệp bằng scp: quyền bị từ chối" vì tôi có cùng một lỗi.

Trong trường hợp của tôi, tệp được tải xuống bằng scp sẽ ghi đè lên một tệp thuộc sở hữu của root và tôi không phải là root. Tóm lại, kiểm tra quyền sở hữu của tập tin bị ghi đè.


1
Trong trường hợp này là vì anh ta đang cố gắng viết /Homevà không root, anh ta không có quyền truy cập viết bên ngoài~/
Shadur

Bạn giúp tôi với.
longdeqidao

4

điều này có vẻ giống như vấn đề cho phép

Tệp có thể không có quyền đọc vì nó được gửi đến máy chủ đích dưới dạng tài khoản nguồn.

bạn cần đảm bảo tệp tại nguồn có quyền yêu cầu đặc biệt là quyền đọc

-rw-r - r--

chmod 744

sau đó scp các tập tin đến đích. Điều này sẽ được giải quyết


3
-rw-r--r--là 644, không phải 744. Đặt quyền thực thi trên một tệp không thực sự có thể thực thi có thể gây ra sự cố.
G-Man nói 'Phục hồi Monica'

3

Điều đã sửa "quyền bị từ chối" đối với tôi là, trên máy chủ từ xa, thay đổi quyền sở hữu thư mục thành root: (Điều này có thể xảy ra khi bạn gửi tệp cho người dùng không phải root và thư mục được sở hữu bởi root!) Bật máy từ xa (sao chép mệnh.):

sudo chown (your username) (remote folder)

Ngoài ra, để chắc chắn, hãy bật tất cả các quyền trên thư mục từ xa: (Không phải lúc nào cũng cần thiết):

sudo chmod 777 (remote folder)

1

Bạn có các đối số để scpđảo ngược. Đó là nguồn đầu tiên, sau đó là đích cp. man scpđể biết thêm chi tiết.


1

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:~/

0

Cài đặt công cụ windows "mRemoteG" từ www.mremoteng.org/

Tạo kết nối SSH của bạn đến hộp mong muốn.

Nhấp vào menu "Chuyển tập tin".

Nó sẽ cho phép chuyển tập tin dễ dàng từ Windows sang Linux.

cảm ơn.


0

Amazon Linux AMI

Hãy chắc chắn rằng bạn cần đặt đường dẫn máy chủ tuyệt đối, từ nhà trong trường hợp hiện tại:

scp file.txt SSH-ALIAS:/home/YOUR_USER/

0

Các quyền tương tự áp dụng trên cả hai mặt của scp. Bạn sẽ gặp lỗi này nếu người dùng thiếu quyền ghi vào đích. Các triệu chứng dường như ngụ ý nguồn, tuy nhiên trong trường hợp của tôi, đích đến được tạo bởi root và thiếu quyền ghi cho tài khoản người dùng dự định.


0

Trong trường hợp của tôi, tôi cũng đã cố gắng cấp tất cả quyền với -R cho thư mục nhưng vẫn gặp lỗi về quyền.

Tôi đã phải xóa "/" trước đường dẫn của máy chủ và thư mục đích. Lý do là vì Tải xuống là thư mục đầu tiên tôi có thể liệt kê sau khi tôi ssh đến máy chủ, ví dụ: ssh tiennsloit@13.76.91.2

Những công việc này:

sudo scp -rp /Users/macffy.vn/Doads/bbhs_20190301.zip tiennsloit@13.76.91.2: Tải xuống

Điều này đã không làm việc:

sudo scp -rp /Users/macffy.vn/Doads/bbhs_20190301.zip tiennsloit@13.76.91.2: / Tải xuống


0

Dễ dàng sửa chữa. Hãy chắc chắn rằng bạn đã root. SCP đến điều khiển từ xa và nó sẽ hỏi bạn mật khẩu gốc của máy đó. Chỉ cần có vấn đề này là giải pháp. Bạn root chúng root.


Vì thông tin đăng nhập gốc thường bị vô hiệu hóa trong sshd_config , bạn nên chỉ cho OP cách thay đổi điều này (mặc dù điều đó không được khuyến nghị).
ajgringo619

Tại sao bạn khăng khăng sử dụng root để sao chép một tập tin (bất kỳ)? Cũng lưu ý câu trả lời được chấp nhận từ ~ 7 năm trước ...
Jeff Schaller

-3

trước khi sử dụng lệnh scp, hãy đảm bảo rằng bạn cấp quyền đọc, viết và thực thi cho mọi người bên ngoài. "tập tin chmod 777"


bạn có thể sao chép tệp không phải là 777
Archemar 19/03/2015
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.