Привет,OpenSSH может провести автентикацию по следющим признакам:
1. Trusted Remote Host (бррр!)
2. RSA key
3. Kerberos
4. Local (в классическом смысле /etc/passwd, но можно так же и через PAM)
Во всех случаях автентикация даже по одному признаку является достаточной, т.е. если у вас RSA ключ (и вы введете правильно pass фразу, если такая есть), то пароль на shell account у вас никто не спросит.
Можно подойти так: разрешить RSA и local; затем local автентикацию провести через PAM и написать свой модуль, который будет разрешать автентикацию только если запрос приходит с определенных хостов.
Иной вариант - зап
4. Local (в классическом смысле /etc/passwd, но можно так же и через PAM)
Во всех случаях автентикация даже по одному признаку является достаточной, т.е. если у вас RSA ключ (и вы введете правильно pass фразу, если такая есть), то пароль на shell account у вас никто не спросит.
Можно подойти так: разрешить RSA и local; затем local автентикацию провести через PAM и написать свой модуль, который будет разрешать автентикацию только если запрос приходит с определенных хостов.
Иной вариант - запустить два sshd на разных портах с разными типами автентикации и настроить redirect через iptables 22-ого порта ко второмоу, если запрос пришел "от мира".
WWell,