Как получить открытый ключ ssh с безголового сервера Ubuntu (без графического интерфейса пользователя) на ключ развертывания github

Я построил безголовый сервер Ubuntu 18.04 (без графического интерфейса). Это смоделированная среда, созданная в VirtualBox, предназначенная для имитации производственного сценария, с которым я очень скоро столкнусь при настройке. Производственная среда будет удаленной и доступной через VPN. Обратите внимание, что VirtualBox не является частью производственного сценария.

Я создал пару закрытых / открытых ключей ssh ​​для использования в GitHub, чтобы я мог добавить новый ключ развертывания

Мне нужно иметь возможность получить копию открытого ключа для добавления в GitHub.

Нет буфера обмена с безголовым сервером через терминал. Я пытался установить и настроить xclip / xsel вести себя как pbcopy / pbpaste , Это прекрасно работает на Ubuntu с графическим интерфейсом, но не работает на автономном сервере через терминал.

Пытаясь использовать xclip как это:

DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub

результаты в:

Error: Can't open display: :0

Я пытался запустить OpenSSH и запустить его. Я не гуру SSH и не получил это работать.

Существуют ли другие способы получить этот открытый ключ ssh с безголового сервера? Это удаленный сервер без физического доступа.

2 ответа

В обычных условиях вы сможете получить доступ к удаленному серверу Ubuntu через SSH. Для этого на настольном компьютере вы будете использовать эмулятор терминала как gnome-терминал (в Ubuntu) или PuTTY (в Windows) и т. Д. Таким образом, вы сможете сделать это. cat id_rsa.pub Затем скопируйте содержимое ключа из используемого окна терминала и вставьте его в поле "Ключ" в окне браузера. Фактически таким образом вы будете использовать буфер обмена вашей (локальной) настольной системы.


То, что вам нужно, установлено openssh-server на удаленном экземпляре и openssh-client на локальном (настольном) экземпляре. Для этого используйте следующие команды:

sudo apt install openssh-server
sudo apt install openssh-client

Затем у вас должен быть IP-адрес (или доменное имя) удаленного экземпляра, к которому вы можете получить доступ из локального экземпляра, не используя напрямую, через VPN, туннель SSH и т. Д. В вашем случае вы можете использовать ifconfig чтобы найти IP-адрес сервера Ubuntu в вашей локальной сети.

Основной синтаксис команды ssh:

ssh user@host     # where host IP address or domain name

Вы должны выполнить эту команду в окне терминала в локальной (настольной) системе. Тогда вы сможете свободно работать (в зависимости от прав вашего пользователя) на удаленном сервере с удовольствием в среде GUI:)


Дальнейшее чтение:

Разница между вопросом, о котором я спрашиваю, и вопросом / ответом, на который все указывают, заключается в следующем: у меня есть автономный сервер (без графического интерфейса), только серверный терминал, который не поддерживает буфер обмена, мышь и т. Д. Я могу просто "отследить" открытый ключ. Я искал простой способ скопировать это. Я установил xsel и xclip, но эти утилиты не работают без буфера обмена.

Мое решение: FTP-файл открытого ключа на удаленный сервер. Это взлом, но работает.

Другие вопросы по тегам