1

Обычно при создании нового веб-сервера, чтобы войти через SSH без необходимости вводить пароль, я бы добавил хост в мой файл ~/.ssh/config следующим образом:

Host foobar
    HostName 111.111.111.111
    User myusername

Затем я запускаю эту команду, чтобы скопировать мой SSH-ключ на сервер.

cat ~/.ssh/id_rsa.pub | ssh foobar "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

Есть ли способ, которым я могу сделать псевдоним в моем .bash_profile/.bashrc, чтобы позволить мне напечатать что-то вроде copy_key foobar и это будет копировать мой ключ на сервер? Я попытался сделать функцию в моем файле .bashrc с помощью этой длинной команды, но он просто попытался войти на сервер.

1 ответ1

1

"Псевдоним" - это скрипт bash, и он называется ssh-copy-id . Проверьте справочные страницы: man ssh-copy-id:

ssh-copy-id - это скрипт, который использует ssh для входа на удаленный компьютер (предположительно, с использованием пароля для входа в систему, поэтому аутентификация по паролю должна быть включена, если вы не сделали несколько умных попыток использовать несколько идентификаторов). Он также меняет разрешения дома удаленного пользователя, ~/.ssh и ~/.ssh/authorized_keys для удаления возможности записи группы (в противном случае вы не сможете войти в систему, если на удаленном sshd установлены StrictModes в его конфигурации).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .