Làm cách nào để sử dụng keyfile của tôi để truyền dữ liệu từ máy chủ này sang máy chủ khác


25

Tôi không thể scp, máy chủ khác chỉ có kết nối sftp.

Hiện tại, tôi đang cố gắng làm

sftp jay@server.name.com:/files> put -r ~/

-i keynamekhông hoạt động, chỉ giải quyết với illegal option -- i.

Câu trả lời:


34

Thử:

sftp -o "IdentityFile=keyname" jay@server.name.com

Bạn có thể sử dụng -ođể vượt qua bất kỳ tùy chọn hợp lệ trong ~/.ssh/config.


Đóng đinh nó cảm ơn! Làm thế nào để tôi giữ nó bình thường?
Jay

Tôi không biết ý của bạn là gì khi "giữ nó ở đó bình thường". Nếu bạn muốn nói rằng bạn muốn IdentityFiletùy chọn luôn tự động được cung cấp, hãy xem câu trả lời của UtahJarhead về việc đưa nó vào~/.ssh/config
Celada

4

Sao chép khóa PUBLIC của bạn vào máy chủ bằng các phương tiện truyền thống.

Trên máy chủ:

  • Tạo .sshnếu nó không tồn tại:
[[! -d "$ {HOME} /. ssh"]] && mkdir -p "$ {HOME} /. ssh"
  • Thực hiện khóa công khai:
cat /path/to/public_key.pub >> "$ {HOME} /. ssh / ủy quyền"
  • Đặt quyền thích hợp. OpenSSH RẤT ANAL về quyền của các tệp được đề cập:
chmod go-rwx "$ {HOME}" "$ {HOME} /. ssh / ủy quyền_key"

Sau đó, bạn sẽ có thể đăng nhập từ máy khách bằng phím RIÊNG TƯ. Để tự động chuyển khoản, bạn muốn sử dụng tệp bó, đây chỉ là tệp văn bản chứa danh sách các lệnh cần thực hiện.

echo "đặt filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt
sftp -b /tmp/batchfile.txt -oIdentityFile = / path / to / private_key user @ host

Ngoài ra, vui lòng tạo tệp ~ / .ssh / config ở định dạng ssh_config để bạn có thể chỉ cần nhập tệp này trong tương lai:

máy chủ sftp -b /tmp/batchfile.txt

Nội dung mẫu của ~/.ssh/config

Lưu trữ tên_hostname
    Tên người dùng
    Danh tính / đường dẫn / đến / private_key

Tôi sẽ thử điều này trong đợt tiếp theo, giải pháp ở trên đã thực hiện thủ thuật này.
Jay

1

Nếu bạn đang tìm cách thiết lập sftp trên ec2, bài viết này có thể giúp


Xin lỗi, nó thực sự không.
Jay

1
"Câu trả lời" này không có gì để đóng góp cho câu hỏi. Tệ hơn, nó chỉ là một liên kết đến một trang sẽ một ngày nào đó biến mất.
Thị trưởng John

0

Tôi đã gặp vấn đề này gần đây và những gì đã làm việc cho tôi trong thiết lập thiết bị đầu cuối mặc định macbook của tôi là như sau

sftp -i ./privateFilePath.key username@url.com

Lưu ý rằng bạn có thể được thăng cấp với FILE KEY RIÊNG TƯ KHÔNG GIỚI HẠN! trong trường hợp bạn cần chạy lệnh này để đảm bảo khóa riêng của bạn không bị người khác truy cập.

chmod 600 privateFilePath.key 

Trong một số trường hợp bạn cần đặt sudo trước lệnh, điều này chỉ khi bạn đang làm việc trong một thư mục được bảo vệ bởi quản trị viên

Tôi ước điều đó hữu ích :)


Tại sao bạn mong đợi điều này hữu ích khi câu hỏi nói rằng -itùy chọn không hoạt động?
Scott
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.