Как использовать закрытый ключ для установки пароля меньше ssh на новой машине

При записи

ln -s VALUE link_name

создается символическая связь со значением VALUE. Это то, что вы получили. Если вы хотите создать относительную ссылку, то лучше всего сделать cd в каталог, куда вы хотите поместить ссылку:

$ cd ~/bin
$ ln -s ../programming/tmux/tmux .

Завершение оболочки поможет вам.

1
15.04.2015, 23:22
2 ответа

Если все ваши пульты имеют собственных пользователей root (то есть разные каталоги /root), со своими собственными authorized_keys файлами, вам нужно будет отредактировать их все, чтобы добавить новый ключ:

for remote in $(seq 100); do 
    cat public_key.pub | ssh "remote$remote" tee -a .ssh/authorized_keys
done

Однако, вы также можете отправить закрытый ключ вашего source1 в source2. Таким образом, обе машины будут использовать одну и ту же пару ключей (которая уже зарегистрирована всеми пультами). Я не думаю, что это может привести к каким-либо конфликтам, но наличие двух ключей кажется мне более естественным. Дело в том, что поскольку все ваши машины, вероятно, находятся в одной сети и управляются одним и тем же пользователем, наличие одного скомпрометированного ключа, вероятно, нарушит всю систему. Поэтому, наличие двух не принесло бы столько безопасности (так как одного достаточно, чтобы где-то стать root)

.
1
27.01.2020, 23:52

Подход, который необходимо принять, зависит от конкретного сценария. Было бы лучше всего, если бы в пользовательском authorized_keys на всех серверах уже существовал ключ, который можно использовать для аутентификации при добавлении нового ключа к удаленным хостам, потому что в противном случае вам придется вводить пароль для каждого хоста.

Самый простой способ автоматизировать копирование ключа ssh на удаленную машину - это использование ssh-copy-id, и если у вас есть серверы с именами remote1 через remote100, то это можно сделать, используя что-то вроде следующего:

for server in $(seq -f 'remote%.0f' 1 100); do
    ssh-copy-id -i ~/.ssh/id_rsa "$server"
done

Который автоматически примет открытый ключ для id_rsa, соединит все серверы последовательно, и добавит открытый ключ к authorized_keys. Если это единственный ключ, который у вас будет на серверах, то вам будет предложено ввести пароль для их добавления, так как программа ssh-copy-id должна на самом деле использовать ssh на серверах.

Одним из способов автоматизировать его в дальнейшем было бы использование чего-нибудь вроде ожидать для автоматизации входа в систему с паролем, так как клиент ssh OpenSSH не имеет возможности указать пароль из командной строки, или используя обёртку вроде sshpass.

0
27.01.2020, 23:52

Теги

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