내 사용 사례는 다음과 같습니다.
- 저는 작업을 위해 다른 컴퓨터에 SSH로 접속하는 경우가 많으며, 예제를 작성하고 텍스트를 공유하기 위해 서버의 문서/텍스트를 복사하여 로컬로 실행되는 편집기에 붙여넣어야 하는 경우가 많습니다.
- 일반적으로 텍스트가 충분히 작으면 터미널 프로그램(현재 gnome-terminal)의 출력을 복사하여 붙여넣습니다.
- 그러나 문서 전체에 관해서는 제가 선택할 수 있는 옵션이 매우 제한되어 있습니다. 문서를 블록별로 복사하거나
scp
로컬 컴퓨터에 복사할 수 있습니다.
예를 들어 원격 장치를 로컬 X 서버의 클립보드에 xclip
복사할 수 있는 프로그램을 사용할 수 있는 방법이 있습니까 ? stdin
일부 효과:
cat myconffile.conf | sed {...} | copy-over-ssh-to-local-clipboard
정말 좋을 거예요. 이것을 가능하게 할 수 있는 것이 있나요?
답변1
X 전달을 사용하여 SSH를 실행하는 경우 이는 투명합니다. 원격 명령(포함 xclip
)은 X 서버(키보드 포함)에 액세스할 수 있습니다. 귀하와 서버 모두에 둘 다 있는지 확인하십시오 ForwardX11 yes
(배포판에 따라 이러한 옵션은 기본적으로 켜져 있거나 꺼져 있을 수 있습니다).~/.ssh/config
X11Forwarding yes
sshd_config
<myconffile.conf sed {...} | xclip -i
다음을 사용하여 로컬 컴퓨터에 원격 디렉터리를 마운트하는 등 원격 파일을 작업하는 더 편리한 다른 방법이 있습니다.SSHFS, 또는 Emacs에서 원격 파일을 엽니다.도보 여행가. SSH가 있고퓨즈SSHfs를 설정하고 설치합니다 mkdir ~/net/myserver; sshfs myserver:/ ~/net/myserver
. SSHfs는 .ssh를 설정하고 Emacs를 설치한 경우 Tramp를 켜는 것만큼 쉽습니다 /myserver:/path/to/file
.
답변2
xclip
이제 작업이 끝났 stdin
으므로 특별한 것이 필요하지 않습니다.
ssh remotehost xclip < myconf.conf
왜 수정해야 합니까 sed
? ssh
터미널로 사용되지 않을 때 데이터에 투명하며 다음과 같은 파이프라인에서 자주 사용됩니다.
tar cfz - somedir | ssh remotehost 'cd destdir; tar xfz -'`
답변3
로컬 컴퓨터의 OSX에서 수행하는 방법은 다음과 같습니다.
ssh remotehost.com "<some/file.txt" | pbcopy
답변4
@d-raev 및 @william-casarin의 솔루션과 매우 유사하지만 다르기 때문에 나에게 도움이 된 방법을 공유하고 있습니다.
주문하다
ssh user@host "cat <myconffile.conf" | xclip -sel clip
설명하다
이는 보안 터널을 생성하고 @or ssh
에 로그인한 다음 to 의 내용을 인쇄 한 다음 로컬 컴퓨터로 파이프하는 명령을 실행하여 내용을 로컬 컴퓨터의 클립보드에 넣는 데 사용됩니다 .user
host
ip
cat
<myconffile.conf
stdout
xclip -sel clip
<myconffile.conf
실제 사례 사용
저는 이 명령 구조를 사용하여 Ubuntu 16.04 및 18.04에서 Bash를 사용하여 ssh 키를 github에 붙여넣는 등의 작업을 수행합니다(명령 실행 후 간단한 ctrl-V 또는 붙여넣기 선택 허용). 동작 및 옵션 세부정보를 보려면 man ssh
, man cat
및 를 확인하세요 .man xclip