Как получить открытый ключ 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-файл открытого ключа на удаленный сервер. Это взлом, но работает.