Очень новый вопрос!
Я использую два разных сервера, оба являются частью одного кластера Amazon AWS. Они не управляются мной.
На одном сеансе SSH терминал позволяет мне автозаполнение. На другой сессии это не так - хотелось бы, чтобы это было.
Почему это - это опция, установленная администратором сервера?
И могу ли я что-нибудь с этим сделать?
Спасибо!
You may not change the shell for 'counterstrike'.
Это комбинация оболочки, которая используется в вашей сессии ssh, а также ее конфигурация.
Хотя ваша оболочка может поддерживать автозаполнение, она не может быть настроена для этого. Если вы используете оболочку bash, вы можете отредактировать локальный файл .bashrc для следующего, чтобы обеспечить автозаполнение.
источник
Скопировано из моего собственного ответа на unix.SE :
Кажется, что именно в Ubuntu записи в
~/.ssh/known_hosts
хэше хэшируются , поэтому SSH-завершение не может их прочитать. Это особенность, а не ошибка. Даже добавивHashKnownHosts no
к~/.ssh/config
и/etc/ssh/ssh_config
я не смог предотвратить хозяина хэширования.Тем не менее, хосты, которые меня интересуют, также находятся в
~/.ssh/config
. Вот скрипт для Bash Completion, который читает записи из этого файла:Поместите этот скрипт,
/etc/bash_completion.d/ssh
а затем отправьте его с помощью следующей команды:Я нашел это руководство бесценным, и я не смог бы написать это без него. Спасибо Стиву Кемпу за написание этого потрясающего руководства!
источник
IIRC также может быть проблемой, что ssh хэширует имена хостов в ~ / .ssh / known_hosts
большинство установок, которые я знаю, используют ~ / .ssh / known_hosts в качестве источника для списка доступных хостов для завершения, но некоторые системы также начали устанавливать "HashKnownHosts yes", что запрещает использование known_hosts в качестве источника ....
если строки ваших известных хостов начинаются с чего-то вроде
тогда активируется хеширование.
источник