보안이 취약한 SSH 클라이언트

보안이 취약한 SSH 클라이언트

이 질문은 다양한 형태로 수백 번 요청되었으며 답변은 항상 비슷합니다. 일반적으로 동의하지만 상황이 조금 다르기 때문에 다시 질문하고 싶습니다.

내 작업 흐름에는 내가 근무하는 회사에서 만든 다양한 장치와 SSH를 통해 상호 작용하는 작업이 포함되며 내 SSH 클라이언트가 다음을 수행할 수 있기를 바랍니다.

  • 로그인 성공 후 호스트 비밀번호를 기억하세요
  • 호스트 ID가 변경된 경우 알려진 호스트 파일의 항목을 수동으로 삭제할 필요가 없습니다.

이러한 장치는 항상 격리된 로컬 네트워크에 있으며 인터넷에 액세스할 수 없습니다. 이러한 장치에는 영구 저장소가 없기 때문에 키 기반 인증을 사용할 수 없습니다(재부팅 시 키가 저장되지 않음). 또한 동일한 PC를 사용하여 다른 설정(IP와 비밀번호는 동일하지만 호스트 ID는 다름)으로 하드웨어에 액세스하고 싶습니다.

일반 OpenSSH 클라이언트는 이 상황에서 고통스러울 것입니다. 보안 문제 때문이라는 것을 이해하지만 자발적으로 옵트아웃하고 싶습니다.

OpenSSH를 포크하고 직접 변경하지 않고도 이것이 가능합니까?

답변1

known_hosts먼저 관련 항목을 삭제 한 다음 ssh를 사용하여 실행하는 스크립트를 작성하면 됩니다 expect.SSH 서버에 로그인하기 위한 쉘 스크립트

답변2

1) 비밀번호: 기기의 부팅 이미지를 변경하고 해당 이미지에 키를 영구적으로 기록할 수 있으므로 비밀번호를 입력할 필요가 없습니다. 가능한지 확인해보세요... 어떤 장치를 사용하고 있는지 잘 모르겠습니다.

2) ~/.ssh/config에 다음 코드를 입력합니다.

     Host * 
        StrictHostKeyChecking no
        UserKnownHostsFile=/dev/null

이것이 당신을 준비시킬 것입니다.

관련 정보