Intereting Posts
Как вы можете запланировать загрузку компьютера в определенное время? Как быстро переключаться между дисплеями в Fedora 18 Потеря точности с постоянным током Изменение постоянных изменений в initrd в CentOS Linux (3.4) Использование раздела подкачки SSD вызывает экстремальную задержку – как устранить? gimp-plugin не может найти gtk / gtk.h Конвертировать PDF из цветового пространства sRGB в CMYK Есть ли способ, которым я могу запутать сценарий оболочки «.sh»? Выбор двойного щелчка в терминале Gnome Как установить команду jar в элементарной ОС Повернуть экран с помощью драйвера udl (DisplayLink) на Ubuntu 14.04? Как изменить только последнюю строку (или любые конкретные номера строк) с помощью команды awk? Thunderbird Quick Filter – удалить текст по умолчанию найти две последовательные повторяющиеся строки Необъяснимые ошибки при использовании петлевого устройства в качестве PV для LVM

opensshd / openssh – разрешить пару ключей или пароль

Я хотел бы настроить свой sshd, чтобы позволить пользователям проходить проверку подлинности с помощью пары ключей, а затем вернуться к аутентификации паролей. Но я пытаюсь добиться этого из информации в man-страницах / sshd_config.

Мой sshd_config:

Protocol 2 SyslogFacility AUTHPRIV RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server 

Когда я подключаюсь, похоже, что секретный ключ отправляется, но мне все равно будет предложено ввести пароль:

 [colinm@server bin]$ ssh -v colinm@dev-server OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to dev-server [10.168.172.81] port 22. debug1: Connection established. debug1: identity file /home/colinm/.ssh/identity type -1 debug1: identity file /home/colinm/.ssh/id_rsa type 1 debug1: identity file /home/colinm/.ssh/id_dsa type -1 debug1: loaded 3 keys debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3 debug1: match: OpenSSH_4.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host 'dev-server' is known and matches the RSA host key. debug1: Found key in /home/colinm/.ssh/known_hosts:10 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information No credentials cache found debug1: Unspecified GSS failure. Minor code may provide more information No credentials cache found debug1: Unspecified GSS failure. Minor code may provide more information No credentials cache found debug1: Next authentication method: publickey debug1: Trying private key: /home/colinm/.ssh/identity debug1: Offering public key: /home/colinm/.ssh/id_rsa debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Trying private key: /home/colinm/.ssh/id_dsa debug1: Next authentication method: password colinm@dev-server's password: 

Возможно ли, чтобы сервер принимал EITHER в качестве механизма аутентификации?

(да, открытый ключ копируется в ~ / .ssh / authorized_keys, и я перезапустил sshd с этой конфигурацией).

Больше отладки не показывает сбой с парой ключей:

 ... debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /home/colinm/.ssh/identity debug3: no such identity: /home/colinm/.ssh/identity debug1: Offering public key: /home/colinm/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug1: Trying private key: /home/colinm/.ssh/id_dsa debug3: no such identity: /home/colinm/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password 

Обычно sshd разрешает проверку подлинности с открытым ключом, аутентификацию пароля и другие, которые вы включили. С вашего вывода вы можете увидеть, что сначала GSSAPI проверяется, но это не удалось. Затем открываются открытые ключи, но они не принимаются, и, наконец, аутентификация пароля запрашивает у вас пароль. Если вы введете неправильный пароль (или логин отключен для этой учетной записи), он не удастся, оставив вас ни с чем.

Хотя вы загрузили открытый ключ в файл ~/.ssh/authorized_keys этого недостаточно, чтобы заставить проверку подлинности ключа работать. Служба sshd довольно строгая и в разрешениях. Каталог ~/.ssh должен иметь режим 700, а файлы должны иметь режим 600. Владелец каталога ~/.ssh должен быть самим пользователем, а не root или кем-либо еще.