티스토리 뷰

오랜만에 Openstack에서 할당 받은 VM Instance에 접속을 할 일이 생겼습니다. 그것도 Ubuntu Command 로 말입니다.

VM을 할당할때 받아두었던 key.pem 파일을 다시 Ubuntu Server로 올리고서 할당받은 Ubuntu VM Instance에 ssh 접속을 하려니 자꾸 에러가 나더군요~!! 그래서, 역시 Google에서 물어봤죠~!! 안 나오더군요~!! 내 검색 키워드에 문제가 있는 건지는 잘 모르겠지만 말이예요~!!


오늘은 그래서 어떤 문제가 발생했길래 그 쉬운 ssh 접속도 제대로 못하나 어떤 에러를 접했고, 어떻게 하면 되는지를 여러분들께 알려드리도록 하겠습니다. 실은 제가 너무 잘 까먹어서 다음에 제가 다시 보고 하기 위해서이기도 해요~!! ^^;;;;



1.우선 OpenStack에서 Ubuntu Instance를 할당받으려면 public key가 필요합니다. 그래서 keypairs에서 key를 하나 생성을 해 줍니다. 여기까지는 다들 아시겠죠~!!


2. 할당 받은 Key를 가지고서 Ubuntu Instance를 하나 생성을 합니다. 이제 생성을 했으니 접속을 해 봐야겠죠~!! ssh로 말입니다.


3. ssh 접속을 하려면 22번 포트가 열려 있어야 합니다. 다들 아시죠~!! Security Groups에서 22번 포트를 추가해 줍니다.


4. 아까 keypairs에서 할당 받은 public key 기억하시죠~!! 그걸 Ubuntu Server에 올려줍니다.


5. 그리고서는 ssh -i key.pem root@10.4.128.132 하고 명령을 내리면 아래와 같은 메시지가 출력이 되면서 접속이 안됩니다.

# ssh -i testkey.pem root@10.4.128.132

The authenticity of host '10.4.128.132 (10.4.128.132)' can't be established.

ECDSA key fingerprint is 53:36:11:29:9f:6c:70:57:26:24:95:9c:e7:8a:fe:3e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '10.4.128.132' (ECDSA) to the list of known hosts.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions 0644 for 'testkey.pem' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

bad permissions: ignore key: testkey.pem

Permission denied (publickey).

해석을 해보면 가장 윗줄에 나온 3줄은 한번로 해당 호스트로 접속한 적이 없어 신뢰할 수 없는데 그래도 계속 접속을 하겠느냐 라는 뜻입니다. 당연히 yes 라고 입력을 하고 접속을 강행을 합니다. 

이때 해당 호스트의 접속 권한을 추가하려고 하는데 private key file이 unprotected 되었다고 메시지가 뜹니다. protect 가 보호하다 라는 뜻을 가지고 있죠~!! 그런데 unprotected라고 하면 보호되지 않았다. 이런 뜻이 되는 겁니다. 

왜 그런가하고 아래 줄을 봤더니 권한이 너무 많이 오픈되었다고 하네요~!! 다른 사용자들이 접근할 수 없는 권한이 있어야 한다고 아래줄에 나오는거 보이시죠~!! 그래서 이 private key file은 무시될 꺼라고 하네요~!!


6. 그럼, 우리는 여기서 chmod로 key.pem 파일의 권한을 빼 주어야 하는 겁니다. 그럴려면 chmod 의 속성들을 알야야 겠죠~!! 

chmod 명령어를 어떻게 쓰는건지 까지 여기서 설명하면 너무 글이 길어지므로 다음에 제가 다시 설명을 드리도록 하겠습니다.

chmod 에 대한 설명은 이곳에서 >> (http://naleejang.tistory.com/56)


7. 정답은 600 입니다. 여기서 100번대는 소유주, 10번대는 그룹, 1번대는 다른 사용자에게 권한을 주겠다는 뜻입니다. 나만 사용할 수 있어야 하니까 당연히 100번대에만 권한을 줍니다. 이때 읽기는 4, 쓰기는 2, 실행은 1입니다. 읽고 쓰기가 가능해야 하므로 4+2 = 6 해서 chmod 600 이 되는 것입니다. 

# chmod 600 testkey.pem

# ssh -i testkey.pem root@10.4.128.132


The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.


Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.


Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-18-generic x86_64)


 * Documentation:  https://help.ubuntu.com/


  System information as of Wed Nov 21 01:17:43 UTC 2012


  System load:  0.08              Processes:           64

  Usage of /:   35.1% of 1.96GB   Users logged in:     0

  Memory usage: 9%                IP address for eth0: 10.0.0.4

  Swap usage:   0%


  Graph this data and manage this system at https://landscape.canonical.com/


0 packages can be updated.

0 updates are security updates.


Get cloud support with Ubuntu Advantage Cloud Guest

  http://www.ubuntu.com/business/services/cloud

root@ubuntu:~#


여러분 보이시나요? 접속이 된것을... 답은 "chmod 600 key.pem" 이였습니다.


우리 다음부터는 이런것으로 삽질말자구요~!! 그럼 오늘 하루도 모두들 파이팅입니다.

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함