sshd
$ /usr/sbin/sshd -f testconfig -p 22025 -d
debug1: sshd version OpenSSH_5.2p1
debug1: private host key: #0 type 0 RSA1
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
debug1: setgroups() failed: Operation not permitted
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-f'
debug1: rexec_argv[2]='testconfig'
debug1: rexec_argv[3]='-p'
debug1: rexec_argv[4]='22025'
debug1: rexec_argv[5]='-d'
debug1: Bind to port 22025 on 127.0.0.1.
Server listening on 127.0.0.1 port 22025.
Generating 1024 bit RSA key.
RSA key generation complete.
debug1: fd 4 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7
debug1: inetd sockets after dupping: 3, 3
Connection from 127.0.0.1 port 58477
debug1: Client protocol version 2.0; client software version OpenSSH_5.5
debug1: match: OpenSSH_5.5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: privsep_preauth: successfully loaded Seatbelt profile for unprivileged child
debug1: list_hostkey_types:
No supported key exchange algorithms
debug1: do_cleanup
debug1: do_cleanup
debug1: audit_event: unhandled event 12
ssh
$ ssh dgl@127.0.0.1 -p 22025 -i ./id_rsa.pub -v
OpenSSH_5.5p1, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /Users/dgl/.ssh/config
debug1: Reading configuration data /opt/local/etc/ssh/ssh_config
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22025.
debug1: Connection established.
debug1: identity file ./id_rsa.pub type 1
debug1: identity file ./id_rsa.pub-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2
debug1: match: OpenSSH_5.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 127.0.0.1
ssh_config
Protocol 1,2
ListenAddress 127.0.0.1
HostKey ./ssh_host_key
HostKey ./ssh_host_rsa_key
HostKey ./ssh_host_dsa_key
RSAAuthentication yes
PubkeyAuthentication yes
Я столкнулся с этой проблемой в Fedora. В конце концов я заметил:
root@wisdom:/etc/ssh# ll
total 268K
drwxr-xr-x. 2 root root 4.0K Jun 30 06:06 ./
drwxr-xr-x. 128 root root 12K Jun 30 05:15 ../
-rw-r--r--. 1 root root 237K Jun 8 23:30 moduli
-rw-r--r--. 1 root root 2.2K Jun 8 23:30 ssh_config
-rw-------. 1 root root 4.3K Jun 30 06:03 sshd_config
-rw-r-----. 1 root ssh_keys 0 Jun 27 00:46 ssh_host_ecdsa_key
-rw-r--r--. 1 root root 0 Jun 27 00:46 ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys 0 Jun 27 00:46 ssh_host_ed25519_key
-rw-r--r--. 1 root root 0 Jun 27 00:46 ssh_host_ed25519_key.pub
-rw-r-----. 1 root ssh_keys 0 Jun 27 00:46 ssh_host_rsa_key
-rw-r--r--. 1 root root 0 Jun 27 00:46 ssh_host_rsa_key.pub
Ключевые файлы имеют нулевую длину! Я создал новые пары ключей, и проблема была устранена:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
Я просто столкнулся с той же проблемой, решил ее, превратив свой относительный путь HostKey в абсолютный, т.е. вместо
HostKey ./ssh_host_key
ставить:
HostKey /home/dmitry/ssh_host_key
или где бы то ни было.
Эта ошибка не очень полезна, не так ли?
FWIW, я столкнулся с тем же сообщением об ошибке, но с другой причиной. В моем случае проблема заключалась в том, что файлы закрытых ключей моего хоста были в режиме 640 вместо 600. Быстрый перезапуск chmod и sshd решил проблему. Я предполагаю, что общая тема здесь - sshd не загружает ключи хоста по той или иной причине.
У меня только что возникла эта проблема с cloud-init
. В моем случае причина заключалась в том, что ключи хоста не были сгенерированы, и dpkg-reconfigure openssh-server
(Специально для Debian / Ubuntu) исправлено.
Я действительно столкнулся с этой проблемой ... и это был наш старый добрый друг SELinux.
Бег setenforce 0
доказывает, что это сработало, но это не лучшее решение. Однако как только это помогло прояснить окончательное решение.
$ cd /etc/ssh
$ restorecon -Rv *
Повторное включение SELinux (setenforce 1
) ... и все хорошо.
Я столкнулся с этим сообщением об ошибке и решил его, установив:
UsePAM yes
Это произошло только с учетными записями без пароля (например, root).
Для меня исправлено добавление этих строк do / etc / ssh / sshd_config:
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192
-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exch
ange-sha1,diffie-hellman-group1-sha1
HostkeyAlgorithms +ssh-dss
В моем случае проблема заключалась в чрезмерном энтузиазме профиля apparmor.
Я также получал следующее сообщение в моем файле /var/log/auth.log:
fatal: linux_audit_write_entry failed: Permission denied
Решено запуском:
aa-complain /etc/apparmor.d/usr.sbin.sshd
Я потратил на это 6 часов! Я перепробовал все решения, а также многие другие! но безрезультатно! затем очистил openssh-server и переустановил его, и он отлично работал, и я перенастроил все, что заняло около 15 минут! И я получил отличный урок!
Нет никакой выгоды в работе с каждым битом каждого файла конфигурации и отладочной информацией каждого приложения!
В моем сценарии это были неправильные разрешения для закрытых ключей:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: /etc/ssh/ssh_host_rsa_key