SSH는 자동 완성 기능을 어디서 얻나요?

SSH는 자동 완성 기능을 어디서 얻나요?

저는 회사 네트워크에 있고 ssh를 두 번 클릭하면 ssh에 연결할 컴퓨터에 대한 제안이 표시됩니다. 그러나 나는 내가 사용하는 컴퓨터에 따라 다른 컴퓨터 세트가 제안된다는 것을 알았습니다. 제거해도 .ssh/known_hosts동작이 변경되지 않습니다. SSH는 이러한 제안된 시스템을 어디에서 가져오나요?

답변1

OpenSSH는 패키지의 bash 완성을 사용합니다 bash-completion. 담당 스크립트는 /usr/share/bash-completion/completions/sshFedora에 저장됩니다. 배포판에 따라 다를 수 있습니다. 이 _known_hosts_real함수는 전역적으로 정의되어 있으며 /usr/share/bash-completion/bash_completion다음을 모두 사용하고 있음을 알 수 있습니다(알려진 호스트는 소스 중 하나일 뿐입니다).

  • 알려진 호스트:
    • 사용자에게 알려진 호스트 파일~/.ssh/known_hosts
    • 전 세계적으로 알려진 호스트 파일 /etc/ssh/ssh_known_hosts,,, .../etc/ssh/ssh_known_hosts2/etc/known_hosts/etc/known_hosts2
  • 구성 파일( host주로 별칭을 사용하지만 Hostnames도 사용함)
    • 유저 프로필 ~/.ssh/config,~/.ssh2/config
    • 전역 구성 파일/etc/ssh/ssh_config
    • -F스위치에서 제공하는 구성 파일을 사용하십시오.
    • 포함된 구성 파일
  • 클러스터 공개 키에 ~/.ssh2/key_22_<hostname>.pub(이유는 모르겠습니다)
  • 신고된 호스트avahi-browse
  • 신고된 호스트ruptime
  • 정상적인 호스트 이름 완성 결과

특정 정보 출처는 소스 코드를 확인하세요.

관련 정보