일상의 정리

X11 connection rejected because of wrong authentication.

리눅스/설치

ssh 터널링을 통해 접속한 x11 에서 sudo 를 한 경우 x app을 열려고 할 때 아래 에러를 내는 경우 처리 방법

x11 connection rejected because of wrong authentication. 

잘못된 인증으로 인해 X11 연결이 거부되었습니다.

 

sudo 를 한 터미널에서 아래 명령을 입력

xauth merge /home/<user-id>/.Xauthority

<user-id>는 접속한 사용자 id

 

이 후에 xeyes 를 해 보면 정상적으로 됩니다.

우분투 ssh 접속이 오래 걸릴 때

리눅스/설치

우분투 터미널에서 ssh 접속을 하는 경우 오랫동안 응답이 없다가 패스워드를 물어보는 현상이 발생한다.

이는 ssh의 인증이 GSS API, 공개키(Public Key), 패스워드 순으로 이루어 지는데 GSS API 인증 과정에서 Kerberos DNS 질의가 발생을 하게 되고 이 DNS 질의에 대해 응답을 받지 못하는 경우 타임아웃이 발생할 때까지 대기를 하기 때문이다.

이 경우 별도 GSS API를 사용하지 않을 경우 이 GSS API 를 비활성화 해야 한다.

비활성화 하는 방법은

/etc/ssh/ssh_config 에서 GSSAPIAuthentication을 no 로 설정한다.


참고: About GSS API : http://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface



svn+ssh 암호 없이 사용하기

리눅스/설치

1. Cent OS 에 svn 설치하기

 

# yum install subversion

 

# mkdir /home/svn

 

2. 저장소 위치 설정

# groupadd svn

/etc/group 에 svn 그룹에 포함될 사용자(svn을 사용할 사용자)를 추가한다.

 

3. 저장소 추가

# cd /home/svn

# svnadmin create --fs-type fsfs sample

--> group 쓰기가 가능하도록 설정한다

# chgrp -R svn sample

# chmod -R g+w sample

 

ssh 로 사용할 경우에는 패스워드 파일 생성등 별도의 작업이 필요 없다.

 

4. TortoiseSVN 에서 암호 없이 접속하기

접속할 계정으로 터미널 접속

$ ssh-keygen -b 1024 -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admin/.ssh/id_dsa.
Your public key has been saved in /home/admin/.ssh/id_dsa.pub.

$ cd .ssh

$ mv id_rsa.pub authorized_keys

$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 89:79:86:1b:cb:fc:a0:05:9c:65:88:b5:4c:1b:7f:c8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Last login: Sun Jan 11 00:43:26 2004 from 192.168.0.25

만약... 위의 방법으로 접속이 실패했다면...
sshd가 인증키로 인증을 허용하지 않기 때문이다.
이럴 경우.
sshd_config(보통은 /etc/ssh/sshd_config)에 다음 두줄이 포함되어 있는지 확인하자.

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

만약 개인키를 암호 없이 사용하는 것이 찝찝하다면 ssh-keygen 을 실행시 암호를 주면 된다.
 

Winscp 나 psftp 를 이용해서 위에서 만든 개인키 (id_rsa) 를 가져온다.


puttygen을 실행 후 메뉴 중의 Convesions - Import Key 로 가져온 개인키를 로드

다른 건 건드리지 말고 


Save private key 로 개인키를 적당한 이름의 xxx.ppk 파일로 저장한다.


-------------------------------------------------------

1. pagent.exe 를 사용하는 방법 
-------------------------------------------------------
저장 후 pageant.exe 를 실행하며 트레이 아이콘에 표시되는 데 Add Key 로

위에서 저장한 xxx.ppk 파일을 로드한다.

 

이 상태에서 SVN 명령을 수행할 경우 암호 없이 사용가능하다.
-------------------------------------------------------

-------------------------------------------------------
2. TortoisePlink 를 이용하는 방법
-------------------------------------------------------
TortoiseSVN을 설치한 후 

c:\Documents and Settings\username\Application Data\Subversion\config

파일을 오픈한 후

[tunnels]
항목에 다음과 같이 추가한다.
ssh2222 = C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe -P 2222 -i "d:/keys/mykey.ppk"

2222는 ssh 포트가 다를 경우 지정하는 것이고
-i 뒤에 키파일을 지정한다.

위와 같이 한 후 
svn+ssh2222://
처럼 포트를 바꾸고 패스워드를 묻지 않도록 사용할 수 있다.
---------------------------------------------------------