SCP từ máy chủ này sang máy chủ khác mà không có mật khẩu nhắc


19

Cách tốt nhất để làm scptừ hộp này sang hộp khác mà không cần nhắc mật khẩu là gì?

Có hai máy chủ:

  • Máy chủ A (10.152.2.10): /home/oracle/export/files.txt

  • Máy chủ B (10.152.2.11): /home/oracle/import/

Nếu tôi muốn chuyển các tệp bằng cách sử dụng scptừ máy chủ A sang máy chủ B mà không được nhắc nhập mật khẩu

[chạy cái này từ Máy chủ A, /home/oracle/export/]

scp files.txt oracle@10.152.2.11:/home/oracle/import

Điều này sẽ nhắc tôi nhập mật khẩu khi nhập lệnh.

Tôi hiểu rằng một keygen bắt buộc phải được tạo và sao chép vào Máy chủ A. Do đó [tại máy chủ A]:

ssh-keygen -t rsa

Điều này cho tôi hai tệp được lưu trữ trong /home/oracle/.ssh:

id_rsa
id_rsa.pub

1. Tôi có phải sao chép hai tệp ( id_rsa, id_rsa.pub) sang máy chủ B /home/oracle/.sshkhông?

Trong khi thực hiện một số tìm kiếm trên google về điều này, một số bài viết đã đề cập về việc nối / nối nó với ủy quyền.

2. Tôi có nên tự mình tạo tập tin này không?

Tôi dường như bối rối về cách đúng đắn để làm điều này.

Btw, hai máy chủ đang chạy Suse Linux Enterprise Edition 9 ...


1
Hãy thử 'móc khóa': gentoo.org/proj/en/keychain

Câu trả lời:


16
  1. Không, bạn giữ id_rsacho chính mình; tuy nhiên, id_rsa.pubđó là khóa chung của bạn, có thể được sao chép vào các máy chủ mà bạn muốn có quyền truy cập. Nối chúng vào cuối của ~/.ssh/authorized_keys.
  2. Có, bạn có thể tạo ~/.ssh/authorized_keysnếu nó chưa được tạo; mặt khác, chỉ cần thêm vào cuối tập tin, sử dụng cat id_rsa.pub >>~/.ssh/authorized_keys.

11

Ngoài ra có một công cụ sắp xếp tất cả điều này cho bạn được gọi ssh-copy-id.

Nó sẽ nối thêm khóa trong tác nhân của bạn nếu bạn có một authorized_keystệp đang chạy vào tệp và tạo nó nếu nó không tồn tại với các quyền phù hợp. Nếu bạn không chạy một tác nhân, bạn có thể chỉ định phím cần đẩy -i:ssh-copy-id -i ~/.ssh/id_rsa


5

Bạn cũng nên kiểm tra các quyền trên các tệp và thư mục khác nhau:

authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744

Thư mục nhà của bạn không được ghi bởi bất kỳ ai khác ngoài bạn.


0

Trong trường hợp bạn định cấu hình khóa được tạo từ ssh-keygennhưng mật khẩu vẫn ít chuyển không hoạt động, thì hãy xác minh khóa chung được sử dụng trên máy nguồn trong lệnh chế độ dài dòng như sau:

sftp -v -oPort=22 userid@server

Thông thường, nó đề cập đến khóa công khai /home/<user>/.ssh/id_rsa.pub có thể khác với khóa bạn đã tạo bằng cách sử dụng ssh-keygen. Bạn cần thêm điều này id_rsa.pubtại máy chủ đích.


0

Tôi sẽ làm như sau:

Trên máy khách:

ssh-keygen -t rsa
ssh-copy-id oracle@10.152.2.11

Điều này sao chép khóa từ máy khách đến máy chủ. Bạn sẽ cần mật khẩu của máy chủ để làm cho nó thêm khóa của bạn vào vòng của nó.

  • Xác thực mật khẩu hoặc cần phải được bật hoặc bạn cần phải cung cấp keyfile cho máy chủ.

Trên máy chủ:

Tôi ít nhất sẽ tắt, xác thực mật khẩu.

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.