Я хочу создать скрипт, который просто запускается ssh-keygen -t rsa. Но как перейти на него 3 раза войти?
Ответы:
Пытаться:
ssh-keygen -t rsa -N "" -f my.key
-N "" сообщает ему использовать пустую парольную фразу (то же самое, что и два ввода в интерактивном скрипте)
-f my.keyуказывает ему хранить ключ my.key(измените по своему усмотрению).
Все работает без каких-либо ключей ввода :)
Чтобы отправить ввод в интерактивный скрипт:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygenупала - вы добавили это обратно? {отредактировано} Также - вы не можете запускать скрипт более одного раза - он меняет вопросы, чтобы подтвердить, что вы хотите перезаписать существующий _rsa
yes ""вместо echo -e "\n\n\n"( yesвыводит любой заданный аргумент [или «y» по умолчанию] в бесконечности - идеально подходит для таких ситуаций, когда нужно просто дать ответ «да» на все, что программа может запросить). yesкороче, и он должен ssh-keygenкогда-либо добавлять вопрос, на который также будет автоматически дан ответ. :)
версия с парольной фразой:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
Согласен с Мишелем Марро за исключением того, что ему нужно еще кое-что: если файл уже существует, он все равно будет интерактивным, спрашивая, нужно ли его перезаписать.
Воспользуйтесь ответом на этот вопрос .
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
Перенаправление на null необходимо, чтобы отключить сообщение о перезаписи.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -eизлучается что-то иное, чем -eвообще, что ssh-keygenдоступно не везде ).
ssh-keygen -N ''как часть процедуры автоматической установки, и он вообще не читает stdin, поэтому нет необходимости в echo( любом echo варианте), переданном в него. (Конечно, я считаю, что stdin подключен к /dev/nullмоему производственному варианту использования; вполне может быть другое поведение, когда он подключен к TTY, но лучший ответ - это </dev/nullне так echo ... |)
$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
Рекомендуется использовать ed25519 для безопасности и производительности.
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
Вот
-o Формат ключа OpenSSH вместо старого PEM (требуется OpenSSH 6.5+)
-a Количество тестов первичности при скрининге кандидатов DH-GEX
-t Тип ключа (ed25519, RSA, DSA и т. Д.)
-f /mypath/bla Путь и имя выходного файла
-N "" Использовать пустую парольную фазу
и yes "y"без взаимодействия.
Будет создано два файла
/mypath/bla
/mypath/bla.pub
где blaфайл является частным и bla.pubобщедоступным.