openssh6.5p1 symbol lookup error: sshd: undefined symbol: EVP_질문

1521 단어 환경 구축
  • 질문
  • 이전에mips플랫폼 제품에서openssl버전을 업그레이드하였는데, 설정을 컴파일할 때 no-rc4 파라미터를 지정하였는데, 그 결과 sshd가 시작되면 오류가 발생할 수 있음을 발견하였다
    symbol lookup error:  /usr/sbin/sshd: undefined symbol: EVP_rc4
    

    오픈스sl로 생성된 라이브러리에서 EVP를 찾을 수 없음 분명합니다rc4 이 인터페이스가 맞으면 당연히 틀릴 수 있다
  • 코드 수정은 Openssh에서cipher.c에서 관련 코드를 주석하거나 수정(이 버전openssh-6.5P1)한 파일에서 암호화 형식의 구조체 그룹 ciphers를 정의했는데 그 중 세 가지 관련 요소가 있는데 모두 주석
  • static const struct Cipher ciphers[]={
    ......
    	//{ "arcfour",	SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 0, EVP_rc4 },
    	//{ "arcfour128",	SSH_CIPHER_SSH2, 8, 16, 0, 0, 1536, 0, EVP_rc4 },
    	//{ "arcfour256",	SSH_CIPHER_SSH2, 8, 32, 0, 0, 1536, 0, EVP_rc4 },
    ......
    };
    

    두 곳 더 호출:
      :cipher_get_keycontext()    
    if (c->evptype == EVP_rc4)
      :
    if (c->evptype == EVP_aes_128_cbc)
    (     ciphers      )
    
      :cipher_set_keycontext()    
    
  • 재컴파일
  • make clean
    make
    
  • 새 서명 키 생성
  • 생성된 sshd를 목표 플랫폼으로 복사하여 실행하는 중 새로운 오류가 발생했습니다
    Could not load host key: /etc/ssh/ssh_host_ed25519_key
    

    새로 만들어진 암호화 방식에 e25519가 서명 검증을 추가했기 때문일 수 있습니다. 이전에 시스템에 이 알고리즘의 인증서가 없었습니다.낳다
    ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key 
      :unknown key type ed25519
    

    운영 체제에서 지원되지 않는 ed25519 키 위장 지원(→ →)
    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key 
    

    이렇게 하면 됩니다. sshd는 정상적으로 운행할 수 있고 ssh 원격 연결은 정상적입니다.
  • end
  • 좋은 웹페이지 즐겨찾기