Jaki jest najlepszy sposób na przechodzenie scp
z 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 scp
z serwera A na serwer B bez konieczności podawania hasła
[uruchamiając to z serwera A /home/oracle/export/
]
scp files.txt [email protected]:/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 ...
źródło
Odpowiedzi:
id_rsa
dla siebie; jednak,id_rsa.pub
któ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
.~/.ssh/authorized_keys
jeśli jeszcze nie został utworzony; w przeciwnym razie wystarczy dołączyć do końca pliku, używająccat id_rsa.pub >>~/.ssh/authorized_keys
.źródło
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_keys
pliku 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
źródło
Powinieneś także sprawdzić uprawnienia do różnych plików i katalogów:
Twój katalog domowy nie może być zapisywany przez nikogo innego niż ty.
źródło
Jeśli skonfigurujesz klucz wygenerowany z,
ssh-keygen
ale 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: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ć toid_rsa.pub
na serwerze docelowym.źródło
Zrobiłbym następujące:
Spowoduje to skopiowanie klucza z klienta na serwer. Będziesz potrzebował hasła do serwera, aby dodać swój klucz do pierścienia.
Chciałbym przynajmniej wyłączyć uwierzytelnianie hasła.
źródło