Например, я использую Mac и ssh'ed на сервер Linux (Ubuntu, без X-сессии) и мне нужно перенести SSL-сертификат с одного сервера на другой (также консоль Linux, Ubuntu, без X-сессии), как мне скопировать сертификат с буфером обмена, это возможно?

Я знаю, как копировать с помощью кошки-мышки :) Например, сертификат не печатается в консоли или слишком большой

3 ответа3

2

X Toolkit

Я думаю, что вам просто нужны некоторые инструменты из стандартного X Toolkit:
xclipboard ; xclip ; xcutsel ; xclip-copyfile ; xclip-cutfile ; xclip-pastefile ; так далее..


NAME
   xclip-copyfile, xclip-cutfile, xclip-pastefile

   - copy and move files via the X clipboard.

SYNOPSIS
   xclip-copyfile  [-p] FILES...

   xclip-cutfile   [-p] FILES...

   xclip-pastefile

DESCRIPTION
   xclip-copyfile  copies files into the X clipboard, recursing into directories.

   xclip-cutfile   copies the files, but also deletes them afterwards.

   -p              preserve path formation

   xclip-pastefile pastes the files out of the clipboard

EXAMPLES
   Copying a file to a remote host

   [maggie.lkpg.cendio.se ~]$ echo "A file created on ${HOSTNAME}" > file1
   [maggie.lkpg.cendio.se ~]$ xclip-copyfile file1
   [sofie.homeip.net ~/doc]$ xclip-pastefile
   file1
   [sofie.homeip.net ~/doc]$ cat file1
   A file created on maggie.lkpg.cendio.se

   Copying an entire tree structure

   [sofie.homeip.net ~]$ xclip-copyfile doc
   [maggie.lkpg.cendio.se ~/tmp]$ xclip-pastefile
   doc/
   doc/letter-mom-april.txt
   doc/file1
   doc/letter-dad-march.txt

   Copying files with preserved path information

   [maggie.lkpg.cendio.se ~]$ xclip-copyfile -p /etc/sysconfig/grub
   tar: Removing leading `/' from member names
   [sofie.homeip.net ~/tmp]$ xclip-pastefile
   etc/sysconfig/grub
   [sofie.homeip.net ~/tmp]$ ls etc/sysconfig/grub
   etc/sysconfig/grub

   Moving files

   [sofie.homeip.net ~]$ ls letter-brother-may.txt
   letter-brother-may.txt
   [sofie.homeip.net ~]$ xclip-cutfile letter-brother-may.txt
   [sofie.homeip.net ~]$ ls letter-brother-may.txt
   ls: cannot access letter-brother-may.txt: No such file or directory
   [sofie.homeip.net ~]$ cd doc
   [sofie.homeip.net ~/doc]$ xclip-pastefile
   letter-brother-may.txt

AUTHORS
   This manual page was written by Maximilian Gass for the Debian project. 
   It may be used for everything else, of course.
1

Я не могу серьезно поверить, что вы используете консоль Linux ... у вас есть мышь? Если так:

  • используйте команду cat myfile чтобы показать весь файл на вашем терминале. При необходимости увеличьте размер терминала, чтобы показать весь файл. Если это просто сертификат, это не должно быть проблемой.

  • Поместите указатель мыши в начало файла, показанного в вашем терминале.

  • Удерживайте левую кнопку

  • Переместите мышь на другой конец файла, чтобы он был выделен

  • Отпустите кнопку мыши. Содержимое файла должно оставаться выделенным. Это скопирует выделенный текст в буфер обмена X (который отличается от того, который вы используете, когда вы нажимаете Ctrl-C/Ctrl-V в некоторых приложениях).

  • Получите доступ к вашему другому серверу.

  • Откройте редактор файлов (если вы используете vi переведите его в режим вставки)

  • Нажмите среднюю кнопку мыши, чтобы вставить содержимое.

Если вы не используете мышь, возможно, у вас не установлены библиотеки X. Используйте scp вместо X буфера обмена.

Предполагается, что вы на самом деле вошли в сеанс X. Учитывая неопределенность вашего вопроса, вы можете использовать компьютер под управлением Windows и использовать замазку для доступа к двум серверам Linux. Если это так, используйте правую кнопку для вставки.

1

Чтобы скопировать файл с одного сервера на другой, я обычно использую scp . Это программа для копирования файлов через SSH. Вы можете либо скопировать файл из первой Ubuntu на ваш Mac, а затем с вашего Mac на второй Ubuntu, либо, если нет брандмауэров, и вы можете выполнить scp напрямую из первой Ubuntu во вторую. Синтаксис:scp localpathsrc login@server:remotepathdst или scp login@server:remotepathsrc localpathdst (с новейшим scp я думаю, что вы также можете использовать scp login1 @ server1:path1src login2 @ server2:path2dst, но у вас его не будет Mac ни на Ubuntu 12.04). В Ubuntu у вас должен быть scp, он входит в пакет openssh-client, но, возможно, у вас установлен только openssh-server. Боюсь, на Mac я не знаю ...

Не устанавливая что-либо вообще, вы также сможете делать это с терминала на вашем Mac

ssh login1@server1 "cat path" | ssh login2@server2 "cat > path2"

но я не помню, работает ли это, когда вам нужно вводить пароли.

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