SSH를 통해 입력을 클립 보드에 복사 하시겠습니까? 컴퓨터에 연결되어 있으며 종종

내 사용 사례는 다음과 같습니다.

  • 나는 종종 작업을 위해 SSH를 통해 다른 컴퓨터에 연결되어 있으며 종종 예제를 작성하고 텍스트를 공유하기 위해 서버에서 로컬로 실행되는 편집기로 문서 / 텍스트를 복사하여 붙여 넣어야합니다.
  • 텍스트가 충분히 작은 경우 종종 터미널 프로그램 (현재 그놈 터미널)의 출력을 복사하여 붙여 넣기 만하면됩니다.
  • 그러나 전체 문서와 관련하여 내 옵션은 상당히 제한적입니다. 청크 단위로 문서를 복사하거나 scp로컬 컴퓨터로 복사 할 수 있습니다 .

xclip원격 stdin으로 로컬 X 서버의 클립 보드 에 복사 할 수 있는 프로그램을 사용하는 방법이 있습니까? 다음과 같은 효과가 있습니다.

cat myconffile.conf | sed {...} | copy-over-ssh-to-local-clipboard

대단 할 것입니다. 이것을 가능하게하는 것이 있습니까?



답변

X 전달을 사용하여 ssh를 실행하면 투명합니다. 원격 명령 (포함 xclip)은 X 서버 (키보드 포함 )에 액세스 할 수 있습니다. 되어 있는지 확인하십시오 ForwardX11 yes당신에 ~/.ssh/configX11Forwarding yes서버에 sshd_config(당신의 분포에 따라,이 옵션은 기본적으로 설정 또는 해제 할 수있다).

<myconffile.conf sed {...} | xclip -i

SSHfs 를 사용하여 로컬 컴퓨터에 원격 디렉토리를 마운트 하거나 Tramp 를 사용하여 Emacs에서 원격 파일을 여는 등의 편리한 원격 파일 작업 방법이 있습니다 . ssh 및 FUSE 설정 및 SSHfs를 설치 한 경우 SSHfs는 쉽습니다 mkdir ~/net/myserver; sshfs myserver:/ ~/net/myserver. ssh를 설정하고 Emacs를 설치했다면 Tramp를 여는 것만 큼 쉽습니다 /myserver:/path/to/file.


답변

특별한 것이 필요하지 않습니다. 이후이 xclip작품을 통해 stdin단지,

ssh remotehost xclip < myconf.conf

왜 그것을 수정해야 sed합니까? ssh터미널로 사용하지 않을 때 데이터에 투명하며 일반적으로 다음과 같은 파이프 라인에 사용됩니다

tar cfz - somedir | ssh remotehost 'cd destdir; tar xfz -'`

답변

로컬 컴퓨터에서 OSX에서 수행하는 방법은 다음과 같습니다.

ssh remotehost.com "<some/file.txt" | pbcopy

답변

로컬 컴퓨터에서 windows (7+)를 실행중인 경우 CommandLine에서이를 사용할 수 있습니다.

ssh user@server cat /home/user/file | clip

답변

~ / .ssh / config :

Host REMOTEHOST
    ...
    ForwardX11 yes

/ etc / ssh / sshd_config :

X11Forwarding yes

세게 때리다:

$ xclip -o | ssh REMOTEHOST 'DISPLAY=:0 xclip -i'

답변

@ d-raev 및 @ william-casarin 솔루션과 매우 유사하지만 다르므로 나에게 도움이되는 것을 공유하고 있습니다.

명령

ssh user@host "cat <myconffile.conf" | xclip -sel clip

설명

이것은 사용 ssh에 대한 보안 터널, 로그인 만들 user@를 host또는 ip다음 실행 cat의 내용을 인쇄 <myconffile.confstdout다음 명령에 있다는 배관 xclip -sel clip의 내용을 배치 로컬 컴퓨터에 <myconffile.conf로컬 컴퓨터의 클립 보드에.

실제 예제 사용법

우분투 16.04 및 18.04에서 Bash를 사용하여 ssh 키를 github에 붙여 넣는 것과 같은 작업 (명령을 실행 한 후 간단한 ctrl-V 또는 붙여 넣기 선택 허용)과 같은 작업 에이 명령 구조를 사용합니다. 체크 아웃 man ssh, man cat그리고 man xclip행동과 옵션에 대한 자세한 내용은.


답변

lxterminal클립 보드를 ssh세션에 붙여 넣는 LUbuntu (다양한 터미널 테스트) 와 비슷한 문제가 있습니다. 클립 보드에 약 100 바이트가 넘는 경우 세션 시간이 초과되어 실패합니다.

ssh를 통해 거의 모든 CentOS 5.x 서버에 연결 한 다음 대상 서버에 연결하면 클립 보드 붙여 넣기가 합리적인 데이터 크기에 문제없이 작동합니다.