Для вашего конкретного примера это лучшее, что я смог сделать.
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -y > ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys
Важной опцией был флаг -y
для ssh-keygen
, который позволяет печатать открытый ключ в stdout, что позволяет избежать двух шагов создания и чтения файла.
Для создания, установки разрешений и записи из существующего файла можно использовать команду install
install -m 0600 ~/.ssh/id_rsa ~/.ssh/authorized_keys
Недостатком команды install
является то, что она не работает с перенаправлением из stdout, что означает, что вам придется копировать содержимое всего файла.