Как настроить псевдоним для перехода в подкаталог с дополнениями?

Я бы разместил это в качестве комментария, но это, вероятно, было бы слишком длинно. Я просто хотел добавить, что ssh-copy-idпытается отправить открытый ключ из местоположения /.sshвнутри вашей папки $HOME.

Если вы пытаетесь sshвойти в систему с правами root с открытым ключом, (сохраните комментарии, связанные с безопасностью, -), ssh-copy-idмогут пытаться войти с неправильным открытым ключом, если ваш $HOMEпеременная имеет значение, отличное от /root(, например домашний каталог вашего обычного пользователя ), поэтому пользователь root получит запрос, поскольку открытый ключ root не установлен в удаленной системе.

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

pub="$(cat /root/.ssh/id_rsa.pub)"; ssh user@remotehost "echo $pub >>.ssh/authorized_keys; chmod 700.ssh; chmod 600.ssh/authorized_keys"

Я сталкивался с таким сценарием несколько раз (, в том числе сегодня утром ), и решил внести свои 2 цента на случай, если кто-то окажется в такой же ситуации.

1
15.09.2019, 23:07
1 ответ

Задайте функцию завершения для cdp. Условно функция называется _cdp. Вы можете определить его в своем .zshrcи явно назначить с помощью compdef.

_cdp () {
  … # code goes here
}
compdef _cdp cdp

В качестве альтернативы поместите код завершения в файл в вашем $fpathс именем _cdpс директивой автозагрузки завершения .

#compdef cdp
… # code goes here

Для заполнения каталогов используйте_files -/. Чтобы завершить каталоги относительно другого места из текущего каталога, используйте опцию -W. Поскольку эта функция принимает только один аргумент, завершает только первый аргумент .

_cdp () {
  ((CURRENT == 2)) &&
  _files -/ -W /mnt/c/Users/Mark/PhpstormProjects
}

Вместо этой функции вы можете добавить или не добавить каталог вcdpath.

cdpath+=/mnt/c/Users/Mark/PhpstormProjects
2
27.01.2020, 23:40

Теги

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