Archives
понедельник, июня 30, 2008
Вот подробная инструкция, как обеспечить беспарольный доступ с машин l2.l и l3.l на машину l1.l. (Имена машин взяты для примера). Аналогично обощается на любое количетсво машин в любых комбинациях.
- На всех машинах надо взаимно прописать все host-ключи машин:
for host in l1.l l2.l l3.l ; do ( cat /etc/ssh/ssh_known_hosts ; ssh-keyscan -t rsa1,rsa,dsa $host ) > /tmp/a ; sort -u /tmp/a > /etc/ssh/ssh_known_hosts ; rm -f /tmp/a ; done - На стороне сервера (в моем примере, это машина l1.l) дополнительно нужно разрешить Hostbased authentication и заполнить файл /etc/ssh/shosts.equiv. Для этого в файле /etc/ssh/sshd_config нужно добавить или отредактировать строчку:
HostbasedAuthentication yes
И добавить в файл /etc/ssh/shosts.equiv записи о клиентских машинах (в моем случае l2.l и l3.l):
for host in l2.l l3.l ; do echo $host >> /etc/ssh/shosts.equiv ; done - На стороне клиента (в моем примере это машины l2.l и l3.l) дополнительно нужно разрешить использование hostbased authentication. Для этого нужно отредактировать файл /etc/ssh/ssh_config. Необходимо отредактировать или создать запись для Host * приблизительного следующего содержания, значения остальных параметров для Host * можно не менять:
Host *
HostbasedAuthentication yes
EnableSSHKeysign yes - После этого необходимо перезапустить ssh-сервер на сервере, и можно пользоваться.