Как лучше всего scp
перейти от одного ящика к другому без запроса пароля?
Есть два сервера:
Сервер A (10.152.2.10):
/home/oracle/export/files.txt
Сервер B (10.152.2.11):
/home/oracle/import/
Если я хочу передать файлы scp
с сервера А на сервер Б без запроса ввода пароля
[запустив это с сервера A, /home/oracle/export/
]
scp files.txt oracle@10.152.2.11:/home/oracle/import
Это запросит у меня пароль при вводе команды.
Я понимаю, что кейген должен быть сгенерирован и скопирован на сервер А. Таким образом [на сервере А]:
ssh-keygen -t rsa
Это дает мне два файла, хранящихся в /home/oracle/.ssh
:
id_rsa
id_rsa.pub
1. Должен ли я скопировать два файла ( id_rsa
, id_rsa.pub
) на сервер B /home/oracle/.ssh
?
При поиске в Google по этому поводу в некоторых статьях упоминалось о добавлении / объединении этого элемента в authorized_keys.
2. Должен ли я создать этот файл самостоятельно?
Кажется, я не совсем понимаю, как правильно это сделать.
Кстати, два сервера работают под управлением Suse Linux Enterprise Edition 9 ...
источник
Ответы:
id_rsa
при себе; однако,id_rsa.pub
который является вашим открытым ключом, может быть скопирован на серверы, к которым вы хотите иметь доступ. Объединить их в конец~/.ssh/authorized_keys
.~/.ssh/authorized_keys
если он еще не создан; в противном случае просто добавьте в конец файла, используяcat id_rsa.pub >>~/.ssh/authorized_keys
.источник
Также есть инструмент, который сортирует все это для вас называется
ssh-copy-id
.Он добавит ключ в ваш агент, если он у вас есть,
authorized_keys
и создаст его, если он не существует с необходимыми разрешениями. Если вы не запускаете агент, вы можете указать ключ для нажатия-i
:ssh-copy-id -i ~/.ssh/id_rsa
источник
Вы также должны проверить разрешения для различных файлов и каталогов:
Ваш домашний каталог не должен быть доступен для записи никем, кроме вас.
источник
Если вы сконфигурировали ключ, сгенерированный,
ssh-keygen
но передача пароля без пароля, не работает, проверьте открытый ключ, используемый на исходном компьютере, в команде подробного режима, как показано ниже:Обычно это открытый ключ,
/home/<user>/.ssh/id_rsa.pub
который может отличаться от того, который вы сгенерировалиssh-keygen
. Вы должны добавить этоid_rsa.pub
на сервере назначения.источник
Я бы сделал следующее:
Это копирует ключ с клиента на сервер. Вам понадобится пароль сервера, чтобы он добавил ваш ключ в свое кольцо.
Я бы, по крайней мере, отключил аутентификацию по паролю.
источник