SSH без пароля с расположением файла идентификационных данных не по умолчанию

Как часть сценария запуска я должен автоматически открыть несколько окон терминала гнома, один из тех терминалов автоматически отправьте:

ssh user@192.168.1.3

Ограничение с этим - то, что я все еще должен ввести пароль для завершения соединения SSH.

То, что я хочу сделать, - чтобы мой сценарий инициировал команду, и завершите соединение. До той степени я попытался следовать инструкциям, как обрисовано в общих чертах в принятом ответе здесь.

От системы я хочу соединиться от, я работал:

ssh-keygen
Enter file in which to save the key: /home/user/ssh/keys/server1key

Это затем предложило мне вводить пароль. Я оставил это пустым, поскольку я не был уверен, для чего это будет, таким образом, я предположил, что установка той потребует разблокирования его с упомянутым паролем каждый раз, когда я использовал бы его.

Продолжая инструкции, связанные выше, я затем выполнил и получил следующее:

ssh-copy-id user@IP
ERROR: No identities found

Быстрый поиск показал, что я должен был указать местоположение ключа, поскольку это не было в месте сохранения по умолчанию, таким образом, я зафиксировал это:

ssh-copy-id -i /home/user/ssh/keys/server1key.pub user@192.168.1.3

После просьбы о пароле сервера это успешно добавило ключ. Однако после попытки войти в систему с "ssh user@IP", мне все еще предложили пароль.

Насколько я знаю, я следовал связанным инструкциям правильно, таким образом, или я пропускаю что-то или возможно существующая конфигурация предотвращает меня для того, чтобы заставлять это работать?

Обе системы используют 18.04 и openssh.

16
задан 7 August 2018 в 20:07

4 ответа

Это приводит к сбою по той же причине это ssh-copy-id отказавший в первый раз - т.е. потому что Вы выбрали местоположение не по умолчанию для файла идентификационных данных.

Можно разрешить его таким же образом путем добавления -i /home/user/ssh/keys/server1key к Вашему ssh команда - отмечает, что для стороны клиента нужно местоположение файла секретных ключей.

От man ssh

 -i identity_file
         Selects a file from which the identity (private key) for public
         key authentication is read.  The default is ~/.ssh/identity for
         protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa,
         ~/.ssh/id_ed25519 and ~/.ssh/id_rsa for protocol version 2.

С другой стороны, можно хотеть создать a ~/.ssh/config запись файла для хоста вроде

Host            somename
Hostname        192.168.1.3
User            user
IdentityFile    /home/user/ssh/keys/server1key
35
ответ дан 23 November 2019 в 02:30

Другая причина сбоя ssh-copy-id заключается в том, что ключ не добавлен в агент ssh.

Сначала проверьте и запустите, если запущен ssh-agemt

$ eval "$(ssh-agent -s)"

Если вы получили идентификатор процесса, вы можете добавить свой ключ

$ ssh-add -k /home/user/ssh/keys/server1key

С помощью -k вы добавите ключ к цепочке для ключей

Проверьте, добавлены ли ключи с помощью

$ ssh-add -l

Ssh-copy-id должен работать сейчас.

3
ответ дан 23 November 2019 в 02:30

Надеюсь, это сработает для вас .. "sshpass -p yourpassword" автоматически подключится к удаленному хосту.

[root @ localhost .ssh] # sshpass -p пароль123 ssh -l root localhost

-1
ответ дан 23 November 2019 в 02:30

Просто выполните 2 команды:

ssh-keygen
ssh-copy-id

Длинный ответ:

user@ip:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): temp_file
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in stemp.
Your public key has been saved in stemp.pub.
The key fingerprint is:
SHA256:5**M user@ip
The key's randomart image is:
+---[RSA 2048]----+
|  ...            |
| ...             |
| ..              |
| ..+.    o .     |
|                 |
|    B            |
|                 |
|=      *         |
|=+   o .         |
+----[SHA256]-----+

И затем:

user@ip:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub ipDestination -p portDest
-1
ответ дан 23 November 2019 в 02:30

Другие вопросы по тегам:

Похожие вопросы: