OpenSSH는 ECDSA 키를 허용하지 않습니다


9

방금 ECDSA 키를 생성했습니다 ssh-keygen.

ssh-keygen -t ecdsa -b 521 

그런 다음이 키를 내 서버에 복사했습니다.

cat .ssh/id_ecdsa.pub | ssh myserver "tee -a .ssh/authorized_keys"

내 키가 파일에 있는지 확인했습니다.

그러나 연결을 시도하면 연결이 거부됩니다.

ssh -v -i .ssh/id_ecdsa myserver

로그 :

OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to myserver [192.168.1.1] port 22.
debug1: Connection established.
debug1: identity file .ssh/id_ecdsa type 3
debug1: Checking blacklist file /usr/share/ssh/blacklist.ECDSA-521
debug1: Checking blacklist file /etc/ssh/blacklist.ECDSA-521
debug1: identity file .ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1
debug1: match: OpenSSH_6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
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: Server host key: RSA 10:27:b8:78:2c:e1:e3:42:8e:e3:66:c4:cc:4e:f1:c0
debug1: Host 'myserver' is known and matches the RSA host key.
debug1: Found key in /home/naftuli/.ssh/known_hosts:73
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering ECDSA public key: .ssh/id_ecdsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

서버 로그에서 이것을 찾았습니다.

auth.info sshd[13874]: userauth_pubkey: unsupported public key algorithm: ecdsa-sha2-nistp521 [preauth]

내 클라이언트와 서버 모두 OpenSSH를 사용하고 있습니다. 서버의 OpenSSH 버전은 OpenSSH 6.1이고 클라이언트의 OpenSSH 버전은 OpenSSH 5.9입니다.

서버에서 지원하는 주요 알고리즘을 어떻게 알 수 있습니까?


OpenWRT 12.09 태도 조정. 필요한 경우 OpenSSH 서버를 다시 컴파일 할 수 있습니다. 지원되는 알고리즘을 적어도 나열하는 방법이 있습니까?
Naftuli Kay

답변:


7

다른 많은 임베디드 시스템과 마찬가지로 OpenWrt는 Linux 시스템에서 일반적으로 볼 수있는 더 무거운 OpenSSH가 아니라 dropbear 를 ssh 서버로 사용 합니다. 이전 버전의 dropbear는 RSA 및 DSA 키만 지원합니다. ECDSA에 대한 지원은 2013.62 버전 까지 추가되지 않았습니다 (며칠 전에 릴리스 된 경우).

배리어 차단기 (트렁크)에 곧 나타날 것입니다. 하지만 태도 조정에 표시되지 않습니다.


실제로 OpenWRT 라우터에 OpenSSH를 설치하고 구성했습니다. 그것이 작동하지 않는다는 것에 놀랐습니다.
Naftuli Kay

즉 : dropbear를 사용하지 않고 제거되었습니다.
Naftuli Kay

이 경우, 귀하는 (1) 귀하 자신이며, (2) 전문적인 환경에서 기대할 수있는 범위를 벗어난 것 같습니다.
Michael Hampton

나는 그렇게 생각. OpenWRT에 연락하여 내가 할 수있는 일을 알아 보겠습니다. OpenSSH는 OpenWRT에서 패키지로 제공되기 때문에 왜 저를 스스로 해낼 지 궁금합니다.
Naftuli Kay

0

ecdsaopenssh-server 버전 5.7 에서 지원됩니다 . 어떤 버전의 openssh-server를 실행하고 있습니까? dpkg -l | grep openssh-server | awk '{print $3}' | cut -d: -f2버전을 찾기 위해 실행 합니다.


0

시스템이 Red Hat Enterprise Linux 6.4 이상 또는 Fedora 19 이상인 경우 ECDSA가 제거되었습니다. 이유가 무엇인지 (아마도 법적 이유) 자세한 내용은 없습니다 : https://www.mail-archive.com/legal@lists.fedoraproject.org/msg00755.html


ECDSA는 RHEL 6.5에 있습니다. 하려면 openssl 1.0.1의 일부로 도 참고가 사용하고있는 영업 관계를 설명 OpenWRT 12.09
user9517

아 맞아요
lzap

3
예, 합법적 인 이유였습니다. 그러나 오늘날까지 모든 유통 업체가 특허로 인해 타원 곡선 암호화를 지원하지는 않습니다. RedHat은 신중한 법적 검토 후 일반적으로 ECC가 아닌 일부 곡선 만 활성화했지만 NIST (및 NSA)에 영향을 미쳤습니다. 컴퓨팅 성능이 저하 되어도 ECC를 유지하고 싶을 수도 있습니다.
mirabilos

0

이것이 나에게 일어났기 때문에 이것을 여기에 남겨 두십시오.

1 일째 : 새 컴퓨터를 설정하면서 먼저 키를 복사하여 제대로 로그인 할 수있었습니다.

2 일째 : ed25519 키로 로그인 할 수 없습니다. 응? RSA 키를 추가합니다. 효과가있다. 나는 새로운 ed25519 키를 생성하고 그것을 작동 ...하지만 내 이전은하지 않습니다. WTF?

테스트 후 내 키를 루트의 .ssh / authorized_keys에 백업으로 설치했으며 해당 파일에 대한 권한을 수정하는 것을 잊었습니다. openssh는 내 키를 블랙리스트에 추가하여 로그인 할 수 없게 만들었습니다. /root/.ssh/authorized_keys의 권한을 수정하면 사용자 로 로그인 할 수있었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.