Пингвитон
Вас просят дать доступ на какой-то сервер, добавив публичный ключ пользователя в ~/.ssh/authorized_keys. Как обычно мы это делаем? ssh-иться на сервер, открыть в текстовом редакторе файл authorized_keys, добавить ключ в конец, сохранить. Медленно и печально, короче, делаем. А можно сделать в одну команду.
Например, у меня есть рутовый доступ, а пользователь просит дать доступ из-под пользователя user. Копирую ключ в буфер обмена. Здесь важное: обязательно нужно скопировать ключ с переносом строки в конце. Это важно! Иначе вы испортите файл authorized_keys. Так вот, копируете выданный ключ в буфер обмена, например: ssh-rsa i-am-the-key [email protected]
Убеждаетесь, что ключ скопирован и в конце есть перенос строки:
~$ xsel
ssh-rsa i-am-the-key [email protected]
~$
Если переноса строки нет, то будет выглядеть так:
~$ xsel
ssh-rsa i-am-the-key [email protected]
\ No newline at end of selection
~$
Повторяю ещё раз: этот перенос строки очень важен! Если переноса строки не будет, то вы рискуете не просто не дать просящему доступ, но и сломать доступ себе и другим.
Убедились, что ключ с переносом строки в буфере, далее команда:
xsel | ssh [email protected] bash -c "cat >> /home/user/.ssh/authorized_keys"
Команда добавит содержимое вашего буфера обмена в указанный файл на указанном сервере.
xsel вообще очень полезная бифидобактерия, пользуйтесь им (: Очень удобно, например, скопировать кусок файла и отсортировать содержимое буфера прямо в консоли -- xsel | sort. И ещё тонна других применений, которые позволят не создавать лишние файлы и не делать лишних телодвижений.
1 · 542 ·