Я должен смочь установить a ssh
ключевая система без взаимодействия. Я не забочусь, должны ли пакеты быть установлены или пароли в открытом тексте.
Как я могу сделать систему, которая настраивает a ssh
ключевая система, позволяя машину к ssh
в машину B и наоборот использующий ssh ключи, без взаимодействия?
Вот простой код (копирование, и вставка НЕ будет РАБОТАТЬ!!! Вещи изменения как my-username
и my-ip
). Работавший оба хоста:
#!/bin/bash
apt-get -y install sshpass
ssh-keygen -p -N "" -f ~/.ssh/id_rsa
sshpass -p 'my_password' ssh-copy-id my_username@my_host_2
Замена my_host_2
с my_host_1
на машине 2.
Объяснение:
Первая строка, #!/bin/bash
назван хижиной. Посмотрите здесь для получения дополнительной информации.
Вторые установки строки sshpass
без взаимодействия.
Третье использование строки ssh-keygen
создать ключ. -q
тихие средства; это dosen't спрашивает так же. -N ""
средства никакой пароль и -f
средства сохранить его в месте по умолчанию.
Последняя строка копирует фактическое ключевое использование ssh-copy-id
и sshpass
. Вы не можете echo
пароль через stdin
, таким образом, мы используем sshpass
который является самым близким эквивалентом. -p
пароль состоит в том, чтобы использовать. Аргумент ssh-copy-id
имя пользователя и хост для копирования ключа к.