Как включить автозавершение для удаленных путей при использовании scp?

Под чем Вы подразумеваете неиспользованный? То, что модулем показывают lsmod средства, что, вероятно, было серьезное основание загрузить его. Для нахождения модулей, которые компилируются, но не используются, Вы могли сравнить вывод lsmod с /lib/modules для Вашей версии ядра.

37
01.12.2013, 18:11
4 ответа

Удостоверьтесь, что Вы включили необычное автозавершение. На многих дистрибутивах это означает Ваш ~/.bashrc потребности содержать . /etc/bash_completion.

Необходимо будет настроить аутентификацию без пароля, т.е. с ключом это уже загружается в ssh-agent.

Установление соединения SSH является медленным, таким образом, можно значительно ускорить завершения путем установления соединения раз и навсегда и использования того соединения после этого. Относительно сложный способ сделать, который должен открыть основное соединение SSH с ssh -N -M target-host после установки соединений "главный-подчиненный" в ~/.ssh/config; посмотрите Несколько ssh сессий в единственной команде для инструкций (Вам нужно ControlMaster и ControlPath опции).

Простой метод состоит в том, чтобы смонтировать удаленную файловую систему по SSHFS и использованию cp с нормальным завершением оболочки.

mkdir ~/remote
sshfs USER@192.168.178.32:/home/USER ~/remote
cp -p someFile ~/remote/put/it/some/where/oh/damn/you/here
24
27.01.2020, 19:36
  • 1
    Похоже, что существует что-то в /etc/bash_completion к источнику ~/.bash_completion. Я хочу смочь иметь эту функцию на удаленном сервере, где я не могу записать в /etc/ и существует нет /etc/bash_completion (хотя существует /etc/bash_completion.d/. Существует ли версия, которую было бы безопасно выполнить из моего корневого каталога? Существует по крайней мере одна ссылка на ~/.bash_completion, таким образом, я боюсь, что существует больше, я отсутствую и мог быть циклический цикл или что-то еще, что могло бы вызвать ошибки. –  redbmk 14.11.2012, 01:28

Все, что я должен был сделать, должно было добавить мой открытый ключ к удаленной машине:

cat ~/.ssh/id_rsa.pub | ssh USER@192.168.178.32 "cat - >> ~/.ssh/authorized_keys"

И теперь scp вкладка - завершается.

Посмотрите здесь, если необходимо настроить ключи сначала.

7
27.01.2020, 19:36
  • 1
    Это что ssh-copy-id для, плюс он обработает полномочия файла для Вас. –  glenn jackman 07.07.2013, 15:52

Вы могли переключиться на lftp вместо того, чтобы использовать scp. Это дает Вам хороший последовательный интерфейс для передачи файлов по ftp, sftp и ssh включая автоматическое заполнение, которое Вы ищете и больше (т.е. подстановочные знаки).

lftp fish://user@machine

открывается соединение по ssh как Вы делают выше с scp. Много машин поддерживают sftp://также, который еще более хорош, по моему опыту.

2
27.01.2020, 19:36

Как сказал @Giles , убедитесь, что у вас правильно настроено автозаполнение, и у вас есть ключ ssh на машине.

Добавление этой конфигурации к моему ~/.ssh/configсильно повлияло на скорость.

Host *
 ControlMaster auto
 ControlPath ~/.ssh/master-socket/%r@%h:%p
 ControlPersist 10s

Это создаст главное соединение для каждого хоста.

10-секундное сохранение даст вам некоторое время, чтобы просмотреть каталог, прежде чем соединение будет автоматически закрыто.

Без сохранения вам придется заново создавать соединение, что замедлит завершение вкладок.

Пример

~$ scp mymachine:~/paВКЛАДКА

path/ palace/ pandas/ porn/

~$ scp mymachine:~/path/toВКЛАДКА

~$ scp mymachine:~/path/to/fileВКЛАДКА

2
27.01.2020, 19:36

Теги

Похожие вопросы