저는 파일을 .bash_history
엉망으로 만들지 않고 "sshed" 서버와 파일을 자동화 하거나 .known_hosts
/etc/bash_completition
history
known_hosts
그 안에 있는 정보는 "암호화된" 것과 같기 때문에 파일을 망칠 수 없으며 이를 피하는 방법을 찾는 것은 그다지 중요하지 않습니다.
예를 들어
$ tail -n 2 ~/.ssh/known_hosts
|1|D90I41jNxFy83ZhAoyG7gj0+LpM=|Zkru+0Yi9Q9UNafHpj1IVMGGnAw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArih5PrEeGsMHm+9ytkiiOgNNIh6fQAEFfdDw9IwkOGs13g+YN6k61rRbdXj97N+vvuGslcCL9uDMY+M6bqDX4k2kGJuvmsSBgIWOjOiOtrW6wWaflGO0OKQ39F1R92Bw3gB1kNg8Es3XjNE1D+CRXt/EQLWLBFmF3p41PpoRg/Gyvw4XqQSMOYdGsr0OaE8ozrXWO2rQo2NDe6BDJzSGqZ234jCtnRLEtFBFvisTEbNCYFRkhKMSfrUecyK5bjHRehEHKfsPxNDTCOl7xrx1DDTng/BIgxyCA21s+xa05oNulkMMd/1qNrekoUUFxwJpb1rf6vrW5CkeMIOhCr5Nxw==
|1|Cl6c716uEoPmovaRDDwkM+bYFTc=|VXUrsTRDptMOg/Nm3anFMwjy5O8= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArih5PrEeGsMHm+9ytkiiOgNNIh6fQAEFfdDw9IwkOGs13g+YN6k61rRbdXj97N+vvuGslcCL9uDMY+M6bqDX4k2kGJuvmsSBgIWOjOiOtrW6wWaflGO0OKQ39F1R92Bw3gB1kNg8Es3XjNE1D+CRXt/EQLWLBFmF3p41PpoRg/Gyvw4XqQSMOYdGsr0OaE8ozrXWO2rQo2NDe6BDJzSGqZ234jCtnRLEtFBFvisTEbNCYFRkhKMSfrUecyK5bjHRehEHKfsPxNDTCOl7xrx1DDTng/BIgxyCA21s+xa05oNulkMMd/1qNrekoUUFxwJpb1rf6vrW5CkeMIOhCr5Nxw==
내가 찾은이 솔루션하지만 다른 중요하지 않은 이유로 파일이 없습니다 ~/.ssh/config
.
답변1
더 쉬운 방법은 known_hosts
해싱을 비활성화하고 모든 기록에서 자동 완성을 허용하거나 HashKnownHosts no
및 호스트를 나열하는 것입니다(및 별칭을 모두 거기에 저장하거나 별칭을 만들 수 있음).~/.ssh/config
~/.ssh/config
Ports
Users
창의성에 감사하지만 기본적으로 동일한 기능이 이미 있는데 왜 바퀴를 다시 개발해야 합니까( HashKnownHosts yes
기본적으로 Ubuntu에서는 이 기능이 손상됨).
답변2
bash_history
그래서 저는 파일에서 호스트 대상을 자동 완성하는 방법을 알고 싶었기 때문에 이 기능이 같은 상황에 있는 모든 사람에게 도움이 되길 바랍니다.
다음 줄을 실행하십시오.
$ complete -W "$(echo $(grep '^ssh ' .bash_history | sort -u | sed 's/^ssh //'))" ssh
complete
- bash 내장 기능입니다. 따라서 시스템에는 바이너리가 없습니다. 눌렀을 때 명령을 완료하는 방법을 처리합니다.-W
- 자동 완성 단어 목록 만들기grep '^ssh' .bash_history
.bash_history
- 파일에서 ssh로 시작하는 모든 줄을 반환합니다.sort -u
- 출력 라인을 uniq로 만듭니다.sed 's/^ssh //'
ssh
- 각 줄의 시작 부분에 있는 문자열을 제거합니다.ssh
-ssh
명령을 실행할 때
ssh hostname
다음과 같은 다른 기능을 사용할 ssh user@hostname
뿐만 아니라 자동 완성하려는 기능만 유지하거나 원하는 기능 을 ssh user@hostname -p 2222
사용해야 하는 경우regex
grep|sed
hostname
.bashrc
세션을 시작할 때마다 자동 완성되도록 전체 줄을 파일에 삽입하십시오 .