오류 : 디스플레이를 열 수 없음 : (null) Xclip을 사용하여 SSH 공개 키를 복사 할 때
난에 다음과 같은거야 생성 SSH 키 , 그것은 말한다
sudo apt-get 설치 xclip
# xclip을 다운로드하고 설치합니다. 당신이하지 않으면
apt-get
, 당신은 (같은 다른 설치 프로그램을 사용해야 할 수도 있습니다yum
)xclip -sel 클립 <~ / .ssh / id_rsa.pub
# id_rsa.pub 파일의 내용을 클립 보드에 복사합니다.
그러나 실행 후 나는 무엇을 xclip -sel clip < ~/.ssh/id_rsa.pub
얻 Error: Can't open display: (null)
습니까? 주변을 검색했지만 아무것도 찾지 못했습니다.
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
나를 위해 작동하지 않았지만 ( ubuntu 14.04
) 사용할 수 있습니다.
cat ~/.ssh/id_rsa.pub
공개 키를 얻으려면
이 질문의 날짜를 기반으로 할 때 원래 포스터는 Linux 용 Windows 하위 시스템을 사용하지 않았을 것 입니다. 그러나 동일한 오류가 발생하면 다음 대안이 작동합니다.
clip.exe < ~/.ssh/id_rsa.pub
Windows의 clip.exe ( ". exe"를 입력해야 함)를 지적한 이 페이지 덕분에 bash 쉘에서 실행할 수 있습니다.
여기에 게시하지 않기 에는 너무 좋은 답변 이었습니다 . 그것은에서의 질 에서 동료 사용자 askubuntu :
클립 보드는 X 서버에서 제공 합니다 . 서버가 헤드리스인지 여부는 중요하지 않습니다. 중요한 것은 원격 컴퓨터에서 실행되는 프로그램에서 로컬 그래픽 세션을 사용할 수 있다는 것입니다. X의 네트워크 투명 설계 덕분에 가능합니다.
Linux를 실행하는 컴퓨터에서 SSH를 사용하여 원격 서버에 연결한다고 가정합니다. X11 전달이 클라이언트 구성과 서버 구성 모두에서 활성화되어 있는지 확인하십시오. 클라이언트 구성에서 기본적으로 해당 라인
ForwardX11 yes
을 사용~/.ssh/config
하거나 해당 세션에 대한 명령에 옵션-X
을 전달해야합니다ssh
. 서버 구성에서는 라인이 필요X11Forwarding yes
에/etc/ssh/sshd_config
(우분투에 기본적으로 존재).X11 전달이 활성화되어 있는지 확인하려면
DISPLAY
환경 변수 값을 확인하십시오echo $DISPLAY
. 다음과 같은 값이 표시되어야localhost:10
합니다 (원격 시스템에서 실행중인 응용 프로그램은 동일한 시스템에서 실행중인 디스플레이에 연결하라는 메시지가 표시되지만 실제로 해당 디스플레이 연결은 SSH에 의해 클라이언트 측 디스플레이로 전달됩니다).DISPLAY
가 설정되지 않은 경우 수동으로 설정하는 것은 소용이 없습니다. 전달이 제자리에 있으면 환경 변수가 항상 올바르게 설정됩니다. SSH 연결 문제를 진단해야하는 경우 발생하는 상황에 대한 자세한 추적을 얻으려면 옵션-vvv
을ssh
에 전달하십시오 .다른 수단을 통해 연결하는 경우 X11 전달을 수행 할 수도 있고 수행하지 못할 수도 있습니다. 클라이언트가 Windows를 실행중인 경우 PuTTY 는 X11 전달을 지원합니다. Xming 과 같은 Windows 시스템에서 X 서버를 실행해야합니다 .
으로 질 askubuntu에서
원격 호스트에서 xclip을 사용하려는 경우 ssh 명령에 -X를 추가하십시오.
ssh user@host -X
더 자세한 정보는 여기에서 찾을 수 있습니다 : https://askubuntu.com/a/305681
링크 한 문서를 읽었습니다. 그것은 완전히 어리석은 일입니다! xclip
클립 보드 일뿐입니다. 키를 복사하여 붙여 넣는 다른 방법을 찾을 수 있습니다 ... (확실합니다)
그래픽 X 세션 내에서 작업하지 않는 경우 $DISPLAY
환경 var를 명령 에 전달해야합니다 . 다음과 같이 실행하십시오.
DISPLAY=:0 xclip -sel clip < ~/.ssh/id_rsa.pub
물론 :0
사용중인 디스플레이에 따라 다릅니다. 일반적인 데스크톱 컴퓨터를 사용하는 경우:0
이것을 시도하면 매력처럼 작동합니다. 나는 같은 오류가 있었지만이 접근 방식은 나를 위해 트릭을했습니다.
ssh USER@REMOTE "cat file"|xclip -i
다음도 저에게 효과적입니다.
ssh <user>@<host> "cat <filepath>"|pbcopy
사용자 루트로이 명령을 추가하십시오. ssh user_to_acces @ hostName -X
user_to_acces = 사용자 hostName = 호스트 이름 시스템
'programing tip' 카테고리의 다른 글
Python 요청 및 영구 세션 (0) | 2020.09.07 |
---|---|
Python 추출 패턴 일치 (0) | 2020.09.07 |
제거가 발생하기 전에 jQuery slideUp (). remove ()가 slideUp 애니메이션을 표시하지 않는 것 같습니다. (0) | 2020.09.07 |
Microsoft.Web.Publishing.Tasks.dll에서 TransformXml 작업을로드 할 수 없습니다. (0) | 2020.09.07 |
스크롤 방향 감지 (0) | 2020.09.07 |