SCP z jednego serwera na drugi bez pytania o hasło


19

Jaki jest najlepszy sposób na przechodzenie scpz jednego pudełka do drugiego bez pytania o hasło?

Istnieją dwa serwery:

  • Serwer A (10.152.2.10): /home/oracle/export/files.txt

  • Serwer B (10.152.2.11): /home/oracle/import/

Jeśli chcę przenieść pliki przy użyciu scpz serwera A na serwer B bez konieczności podawania hasła

[uruchamiając to z serwera A /home/oracle/export/]

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

Po wprowadzeniu polecenia wyświetli się monit o podanie hasła.

Rozumiem, że należy wygenerować keygen i skopiować go na serwer A. Zatem [na serwerze A]:

ssh-keygen -t rsa

To daje mi dwa pliki przechowywane w /home/oracle/.ssh:

id_rsa
id_rsa.pub

1. Czy mam skopiować dwa pliki ( id_rsa, id_rsa.pub) na serwer B /home/oracle/.ssh?

Podczas wyszukiwania google na ten temat, niektóre artykuły wspomniały o dodawaniu / łączeniu tego z uprawnionymi kluczami.

2. Czy powinienem utworzyć ten plik sam?

Wydaje mi się, że jestem zdezorientowany co do tego, jak to zrobić.

Przy okazji, na dwóch serwerach działa Suse Linux Enterprise Edition 9 ...


1
Wypróbuj „keychain”: gentoo.org/proj/en/keychain

Odpowiedzi:


16
  1. Nie, trzymaj się id_rsadla siebie; jednak, id_rsa.pubktóry jest twoim kluczem publicznym, może zostać skopiowany na serwery, do których chcesz mieć dostęp. Połącz je na końcu ~/.ssh/authorized_keys.
  2. Tak, możesz utworzyć, ~/.ssh/authorized_keysjeśli jeszcze nie został utworzony; w przeciwnym razie wystarczy dołączyć do końca pliku, używając cat id_rsa.pub >>~/.ssh/authorized_keys.

11

Istnieje również narzędzie, które sortuje to wszystko dla ciebie o nazwie ssh-copy-id.

Dołącza klucz w twoim agencie, jeśli masz go uruchomionego do authorized_keyspliku i tworzy go, jeśli nie istnieje z odpowiednimi uprawnieniami. Jeśli nie korzystasz z agenta, możesz określić klucz do wypychania -i:ssh-copy-id -i ~/.ssh/id_rsa


5

Powinieneś także sprawdzić uprawnienia do różnych plików i katalogów:

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

Twój katalog domowy nie może być zapisywany przez nikogo innego niż ty.


0

Jeśli skonfigurujesz klucz wygenerowany z, ssh-keygenale nadal nie działa przesyłanie mniej hasła, sprawdź klucz publiczny używany na maszynie źródłowej w trybie pełnym, jak poniżej:

sftp -v -oPort=22 userid@server

Zwykle odnosi się do klucza publicznego, przy /home/<user>/.ssh/id_rsa.pub którym może różnić się od klucza wygenerowanego za pomocą ssh-keygen. Musisz dodać to id_rsa.pubna serwerze docelowym.


0

Zrobiłbym następujące:

Na kliencie:

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

Spowoduje to skopiowanie klucza z klienta na serwer. Będziesz potrzebował hasła do serwera, aby dodać swój klucz do pierścienia.

  • Uwierzytelnianie hasła albo musi być włączone, albo trzeba ręcznie dostarczyć plik klucza na serwer.

Na serwerze:

Chciałbym przynajmniej wyłączyć uwierzytelnianie hasła.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.