кто-либо может сказать мне, как я могу создать сценарий оболочки для ssh, где я не должен вводить пароль вручную?
Я учился, ожидают команду, и я попробовал несколько примеров, но она не работала. Кто-либо может помочь мне?
Ответьте мне как можно скорее.
Вы могли использовать ssh-keygen
и ssh-copy-id
чтобы создать rsa ключ и добавить, Вы вводите как разрешенные хост к удаленному компьютеру.
Создайте ssh ключ:
$ ssh-keygen -t rsa
Скопируйте его в удаленный компьютер как позволенный хост:
$ ssh-copy-id user@<IP/hostname>
Например,
$ ssh-copy-id username@12.345.67.890
Можно использовать ssh агент для обеспечения пароля только однажды во время всей сессии или использовать ключевую аутентификацию без пароля.
Лично, я настоятельно рекомендую Вам для не использования таких сценариев, где Вы или указываете пароли на командной строке, или путем хранения их в текстовом файле. Если Ваша система будет поставлена под угрозу, Вы будете определенно сожалеть об этом. Возьмите в памяти, что первая вещь плохие люди, изучающие, является Вашим .bash_history
.
Не помещайте свой пароль в сценарий оболочки. Сценарии оболочки не являются местом для помещения пароля. Помещение Вашего пароля в сценарий оболочки нецелесообразно. Не рекомендуется поместить Ваш пароль в сценарий оболочки.
Если вышеупомянутый совет не ясен, повторите его еще несколько дюжин раз, пока это не.
С SSH Ваш лучший выбор состоит в том, чтобы использовать ssh-keygen
сделать пару "открытый/закрытый ключ". Затем на удаленной машине, в ~/.ssh
(или везде, где Ваш SSH был настроен для поиска его конфигурации), редактируют файл authorized_keys
и вставьте свой ОТКРЫТЫЙ КЛЮЧ. Файл будет, впоследствии, выглядеть примерно так:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQ...elided for security...fdVEkAPINVd0=rsa-key-20100920
Когда это будет существовать, Вам не будет нужен пароль для регистрирования.
отредактированный для добавления
Необходимо поместить Файл секретных ключей в локальное ~/.ssh
каталог и удостоверяется, что только можно считать его.
далее отредактированный для добавления
Этот ответ упоминает ssh-copy-id
утилита, которая заменяет все редактирование руководства, которое я упомянул. Приятная черта это. Используйте это вместо этого.
Необходимо создать частную/с открытым ключом пару.
Затем запишите свой открытый ключ к удаленному хосту, Вы идете в ssh в этот файл:
/home/user/.ssh/authorized_keys2
Существует много учебных руководств о том, как сделать это. Просто Google для: "ssh без пароля authorized_keys2".