Những lý do có thể khác nhau, tất nhiên.
Câu trả lời rõ ràng nhất là, vì lý do này hay lý do khác, bạn không thể được xác thực bởi hệ thống từ xa. Tuy nhiên, vì bạn đang xuất các quyền thư mục trên hệ thống từ xa, tôi giả sử bạn có quyền và khả năng truy cập nó bằng một số phương tiện (nhưng có lẽ không phải bằng ssh).
Vì vậy, điều đầu tiên cần làm là ssh vào máy và đảm bảo rằng bạn thực sự có thể ghi vào vị trí đó (mà bạn có thể đã thử):
ssh root@remote_host
cd /var/www/html/test/
touch scratch
Nếu bạn có thể thấy các tập tin trống đầu, thì bạn biết bạn có thể viết.
Giả sử bạn có thể truy cập hệ thống đúng cách nhưng ở trên không hoạt động, cũng có thể thực sự không có quyền ghi trên thư mục. Một ví dụ sẽ là nếu thư mục trên máy từ xa nằm trong hệ thống tệp được gắn kết của một loại nhất định, ví dụ NTFS (sẽ không cung cấp cho bạn các chế độ loại UNIX đáng tin cậy) và kernel đặt nó ở chế độ chỉ đọc vì nó không Được gắn thông qua cầu chì để cấp quyền ghi. Bạn cần kiểm tra kỹ hơn các cài đặt cục bộ, nhưng đây sẽ là một thiết lập rất bất thường trừ khi nó mới (hoặc được thiết kế theo cách đó).
Gỡ lỗi hệ thống từ đây sẽ là khó khăn đối với tôi, vì vậy tôi sẽ chỉ cho bạn một phương pháp thay thế để thử. Nếu bạn có thể truy cập hệ thống thông qua ssh và ghi các tệp từ bên trong hệ thống, thì một cách để làm điều đó chỉ là làm theo cách ngược lại, nếu máy tính cục bộ của bạn không nằm sau tường lửa, v.v.
Bạn có thể dễ dàng tìm thấy IP của máy tính mà bạn đã sử dụng mà không cần chuyển sang thiết bị đầu cuối khác. Chúng ta hãy biến nó thành một biến môi trường cho đơn giản:
export IP="`echo $SSH_CLIENT | awk '{print $1}'`"
Tôi thường bao gồm dòng này, ví dụ, ~ / .bashrc vì tôi thấy nó tiện dụng.
Trong mọi trường hợp, sau đó
scp user@$IP:/var/www/html/file.php /var/www/html/test/
Tất nhiên, nếu bạn muốn chạy một chương trình để thực hiện các cập nhật này tự động trên máy cục bộ, điều này sẽ không giải quyết được vấn đề của bạn! Có nhiều cách để giải quyết điều đó bằng cách gọi các lệnh thông qua SSH (vì vậy bạn sẽ gọi một scp qua ssh, có vẻ phản trực giác); tuy nhiên, để nó hoàn toàn tự động, bạn cần thiết lập khóa ssh và không tạo mật khẩu cho khóa. Đây không phải là điều tôi muốn giới thiệu cho quyền truy cập root vào máy và một số loại gỡ lỗi với ssh của máy từ xa cần phải được thực hiện đó là chặn scp.