Задать вопрос

Как правильно использовать ssh-agent?

Вообщем пытаюсь разобраться с ssh-agent. Имеется к примеру 7 ключей для разных серверов.
Раньше я биндил через .ssh/config в таком варианте:
host bind-hostname
	HostName 100.100.100.1
	User username
	IdentityFile ~/.ssh/keyname


Что позволяло удобно логиниться на сервера. Но есть одно ограничение, это действует только на то имя bind-hostname, которое я задам. Т.е при заходе без него ssh username@100.100.100.1 ключик уже не подтягивается и надо указывать в ручную через -i.

Тут я нашел ssh-agent. В нем можно добавить ключи и он будет сам ими распоряжаться. Работет как через забинденый хост, так и без него. Вот только проблема в том, что он перебирает все с 1 по 7 к любому подключению и не запоминает хост.

Это приводит к тому, что очень часто получаю сообщение "Too many authentication failures" когда к примеру, надо залогиниться по паролю или с ключом который стоит на месте больше 6.
Это происходит, так как на серверах в основном по дефолту в sshd стоит 6 как максимальное число попыток подключений.

Как то можно заставить ssh-agent не делать постоянный перебор, а запоминать хосты?
Или использовать его правильно?
  • Вопрос задан
  • 1233 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Lynn
@Lynn
nginx, js, css
Что вам мешает написать

host bind-hostname 100.100.100.1
  Hostname 100.100.100.1
  User username
  IdentityFile ~/.ssh/keyname


ssh-agent позволяет не вводить passphrase каждый раз, но рулить выбором всё-равно надо из конфига.
Ответ написан
insiki
@insiki
broken pipe
MaxLevs
@MaxLevs
А зачем обращаться к ssh username2@100.100.100.1, если можно обратиться к ssh username2@bind-hostname?
Тогда никаких проблем с ключами нет, если будете использовать для каждого пользователя bind-hostname один и тот же ключ. А если ключи разных пользователей машины уникальны, то можно их в том же конфиге перечислить или, если их больше 6, называть ключи по определенной системе с использованием имени хоста и пользователя, а имя ключа в конфиге задавать с использованием %h и %r.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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