programing tip

오류 : 디스플레이를 열 수 없음 : (null) Xclip을 사용하여 SSH 공개 키를 복사 할 때

itbloger 2020. 9. 7. 07:53
반응형

오류 : 디스플레이를 열 수 없음 : (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.pubError: 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 연결 문제를 진단해야하는 경우 발생하는 상황에 대한 자세한 추적을 얻으려면 옵션 -vvvssh전달하십시오 .

다른 수단을 통해 연결하는 경우 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 = 호스트 이름 시스템

참고 URL : https://stackoverflow.com/questions/18695934/error-cant-open-display-null-when-using-xclip-to-copy-ssh-public-key

반응형