Одной вещи i 'll нравится добавлять, то, что было бы лучше исключить парня нечто из способности войти от ssh, Что я имею в виду, должен соединиться с сервером как пользователь "супермен" и впоследствии использование su foo
чтобы стать пользователем нечто и выполнить любую команду, Вы хотите
Используя этот путь, взломщику нужны оба пароля / закрытый ключ, чтобы смочь использовать capistrano. Если он был закрытым ключом, он может соединиться с сервером, но не может выполнить capistrano., если у него есть пароль, он не может даже соединиться с сервером, потому что пользовательскому нечто не позволяют войти в систему.
Red Hat добавила патч для OpenSSH в RHEL (и, следовательно, CentOS) 6.3, требующий нескольких механизмов аутентификации, поэтому вы можете сделать что-то вроде этого:
RequiredAuthentications2 publickey,keyboard-interactive
См. Примечания к выпуску не более подробно.
К сожалению, эта функция, похоже, отсутствует в исходной версии OpenSSH и в Ubuntu 12.04, поэтому, если вы не хотите найти патч и перекомпилировать OpenSSH, я боюсь, вам не повезло.
Вы можете использовать как модуль PAM Google Authenticator, так и открытые ключи, но для данной аутентификации будет использоваться только один. . То есть, если пользователь входит в систему с авторизованным открытым ключом, токен не требуется.
Или, говоря иначе: токены требуются только для аутентификации по паролю, а не для ключей SSH.
Это ограничение не применяется. из модуля Google Authenticator, кстати, но из SSH, который реализует только двухфакторную аутентификацию (через ChallengeResponseAuthentication
) для PAM, но не
Получите YubiKey и следуйте этому руководству http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and- ssh-public-keys-together /
AFAIK, это лучший способ реализовать Yubikey на вашем сервере для доступа по SSH. Приведенное выше руководство позволяет вам использовать открытый ключ + yubikey, тогда как если вы используете официальное руководство ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), это не так. не работают с открытым ключом.
С уважением, VIP
If you set a passphrase on your private key then you have two-factor authentication already. In order to log in people would need:
I know this question is a little stale, but for the sake of future people (myself included) who are looking for a solution, there's also talk of using the ForceCommand option in the sshd_config file to run a script which then performs the authentication. There's an example script here you can modify a bit to your needs, although in that example he calls it from the authorized_keys file instead of making it system-wide with sshd_config's ForceCommand.
Этот вопрос от 2012 года. С тех пор, как SSH изменился и был реализован протокол SSH2.
В более поздних версиях SSH (> = 6.2) man sshd_config упоминает:
AuthenticationMethods
Specifies the authentication methods that must be successfully completed for a user to be
granted access. This option must be followed by one or more comma-separated lists of
authentication method names. Successful authentication requires completion of every method
in at least one of these lists.
For example, an argument of ``publickey,password publickey,keyboard-interactive'' would
require the user to complete public key authentication, followed by either password or key-
board interactive authentication. Only methods that are next in one or more lists are
offered at each stage, so for this example, it would not be possible to attempt password or
keyboard-interactive authentication before public key.
This option is only available for SSH protocol 2 and will yield a fatal error if enabled if
protocol 1 is also enabled. Note that each authentication method listed should also be
explicitly enabled in the configuration. The default is not to require multiple authentica-
tion; successful completion of a single authentication method is sufficient.
На этой странице http://lwn.net/Articles/544640/ также упоминается возможность одновременного использования открытого ключа и аутентификации PAM.