Подключение к нескольким Linux-серверам по SSH без пароля (из Windows)
Подключение к нескольким Linux-серверам по SSH без пароля
Часто при работе с несколькими Linux-серверами хочется избежать постоянного ввода паролей при подключении. Это легко реализуется с помощью SSH-ключей.
Один SSH-ключ можно использовать для подключения ко всем серверам. Не нужно создавать отдельный ключ для каждого.
Шаги для подключения без пароля
Сгенерируйте ключ (один раз)
ssh-keygen -t ed25519 -C "your_email@example.com"Это создаст пару файлов в директории C:\Users\<ваше_имя>\.ssh\:
-
id_ed25519— приватный ключ -
id_ed25519.pub— публичный ключ
Скопируйте публичный ключ на каждый сервер
ssh-copy-id -i "C:\Users\<имя>\.ssh\id_ed25519.pub" user@IPПовторите команду для всех серверов, куда хотите подключаться без пароля.
(Опционально) Настройте ~/.ssh/config для удобства
Host server1
HostName 192.168.98.213
User administrator
IdentityFile ~/.ssh/id_ed25519
Host server2
HostName 192.168.98.214
User administrator
IdentityFile ~/.ssh/id_ed25519Теперь подключайтесь так:
ssh server1Как это работает
-
При генерации ключа создаются две части:
приватнаяипубличная. -
Приватный ключ никогда не покидает вашу машину.
-
Публичный ключ можно копировать на любые серверы — он не является секретом.
-
После копирования ключа на сервер, SSH-клиент будет использовать ваш приватный ключ для аутентификации вместо запроса пароля.
Если кто-то получит доступ к вашему приватному ключу — он получит полный доступ ко всем серверам, где установлен соответствующий публичный ключ. Защищайте его!