Amazon EC2 개설하기

Posted 2012. 10. 16. 15:04

정말 Amazon EC2 를 사용하기가 이렇게 어렵다니... 

결론은 영어가 짧아서 그런것이긴 하지만... 암튼 참 우울합니다.

저와 같은 그런 삽질을 조금이라도 줄여보고자 적습니다. 삽질하지 마세요~


어찌 어찌하여 막판까지 왔다면 접속을 하기위한 ssh 인증키를 발급받아야 합니다.  xxxx.pem 파일.

이부분에서 한참을 헤맸습니다.

잘못된 검색때문에 더 헤맨것 같습니다.

[root@svn102 ~]# ssh -i my-ssh-key.pem ec2-user@176.36.61.129
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for my-ssh-key.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: my-ssh-key.pem
Enter passphrase for key my-ssh-key.pem':
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

[root@svn102 ~]# chmod 400 my-ssh-key.pem   <== 요것이 핵심이죠
[root@svn102 ~]# ssh -i my-ssh-key.pem ec2-user@176.36.61.129
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[root@svn102 ~]# ssh -i my-ssh-key.pem ec2-user@ec2-176.36.61.129.ap-northeast-1.compute.amazonaws.com
The authenticity of host 'ec2-176.36.61.129.ap-northeast-2.compute.amazonaws.com (176.36.61.129)' can't be established.
RSA key fingerprint is 41:2d:c6:5a:c7:96:22:fe:c8:ba:11:c9:40:38:c3:6c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-176.36.61.129.ap-northeast-2.compute.amazonaws.com' (RSA) to the list of known hosts.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[root@svn102 ~]# ssh -i my-ssh-key.pem root@ec2-176.36.61.129.ap-northeast-2.compute.amazonaws.com

 

어떤 사용자로 접속해야 할지 몰라 마지막에 root 사용자로 로그인 했는데, 그제서야 성공. 


인증키의 Permission은 400으로 하시고 사용자를 설정하지 않았다면 root 로 해서 접속해보세요.

권한때문에 가급적이면 root 하지 말고 다른 사용자를 사용하라고하니 참고하시길...


이상 허접한 EC2 개설하기가 아닌 접속하기 팁이었습니다.


 



rsync 비밀번호 없이 진행하기

Posted 2012. 2. 6. 15:02

이전에 파일전송은 ftp만 알았던 시절이 있었습니다. http 다운로드야 뭐 그렇다 치고...
하지만 rsync를 알게된 후 막강 함과 편리한 기능에 매료되어 자주 사용합니다.
그렇지만 전송하려는 사이즈가 클 경우 즉 전송하려는 폴더 전체를 rsync로 보내려고 하면 하위폴더 search하는 시간이 너무 오래 걸립니다.
그래서 하위폴더 단위로 rsync를 하려고 하는데, 무식한 방법으로 계속 기다렸다가 수신호로 비밀번호를 쳐줬었습니다.
머리가 나쁘면 손발이 고생한다는 말이 IT쪽에서는 아마도 진리인듯 싶네요.

실행가능한 배치파일 .sh 를 만들어서 리스트를 쭈루륵 넣어놓고 한방에 돌려놓고 집에 가고 싶었습니다. 결과야 다음날 출근해서 보면 되구요. 문제는 비밀번호... 찾아보니 역시 없는게 아니었습니다.

먼저 vi syncFile.sh를 만들어서
rsync /home/file/download/2005/ root@192.168.0.24:/home/file/download/2005/ --delete
rsync /home/file/download/2006/ root@192.168.0.24:/home/file/download/2006/ --delete
rsync /home/file/download/2007/ root@192.168.0.24:/home/file/download/2007/ --delete
rsync /home/file/download/2008/ root@192.168.0.24:/home/file/download/2008/ --delete
rsync /home/file/download/2009/ root@192.168.0.24:/home/file/download/2009/ --delete
rsync /home/file/download/2010/ root@192.168.0.24:/home/file/download/2010/ --delete
rsync /home/file/download/2011/ root@192.168.0.24:/home/file/download/2011/ --delete
rsync /home/file/download/2012/ root@192.168.0.24:/home/file/download/2012/ --delete

이렇게 넣어둡니다.
당연히 chmod +x syncFile.sh 를 주어 실행가능토록 만듭니다.

이제 rsync 즉, ssh 접속시 비밀번호를 생략하도록 key생성하는 방법을 적용합니다.

#>ssh-keygen -d

이후 물어보는 설정항목에서는 enter를 쳐줍니다.
접속한 사용자 루트폴더에 가면 .ssh/ 라는 폴더밑에 id_dsa,  id_dsa.pub 파일이 생성됩니다.
이중에 id_dsa.pub라는 파일을 원격서버에 복사합니다. authorized_keys 라는 이름으로...

#>scp id_dsa.pub root@192.168.0.24:/root/.ssh/authorized_keys 

이제 준비끝.
syncFile.sh 파일을 실행시켜봅니다.
비밀번호도 안물어보고 잘 실행됩니다.



1. ubuntu iso파일을 이용해서 cd를 구워놓는다. 설치과정은 계속 next...하면 설치끝
  중간에 키보드 선택부분 나오길래 한글을 쓰려면 한글키보드 선택해야 하나? 했지만 그냥 기본으로 설치한다.
  나중에 설치후 인터넷 연결되면 알아서 업데이트한다.

2. 열악한 환경(마우스가 없는)의 세컨드 PC에 설치한 관계로 도저히 작업을 진행하기가 힘들어 일단 telnet, ftp, ssh를 설치하기로 결정(telnet 설치과정 참고).
   터미널을 열려면 단축키 Alt + F1 을 누르면 프로그램 선택창이 나오고 보조프로그램에서 터미널을 선택한다. (단축키 참고)

3. root 권한으로 작업하기 위해 root 패스워드 설정
    $>sudo passwd root  <== 요렇게 입력하면 password를 물어본다. 패스워드 입력하면 끝. (root 비번 변경하기 참고)

4. telnet, ftp, ssh 설치: 이하는 전부 root권한으로 설치했기 때문에 sudo는 생략했다.
- Telnet 설치
# apt-get install xinetd
# apt-get install telnetd
 vi /etc/xinetd.conf
service telnet
{
     disable = no
     flags = REUSE
     socket_type = stream
     wait = no
     user = root
     server = /usr/sbin/in.telnetd
     log_on_failure += USERID
}
/etc/init.d/xinetd restart  <== xinetd 데몬 재구동

- FTP 설치
 #apt-get install vsftpd
#vi /etc/vsftpd.conf
local_enable=YES  의 주석 삭제
write_enable=YES 의 주석 삭제

/etc/init.d/vsftpd restart  <== ftp 데몬 재구동

- SSH 설치하기
#apt-get install ssh
#vi /etc/ssh/sshd_config
#/etc/init.d/ssh restart  <== 데몬 재구동
#netstat -ntl
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

이후는 윈도우에서 ssh로 root권한으로  접속하여 진행함.
아~ ftp보다 xmodem/zmodem으로 윈도우에서 다운받은 파일을 서버에 업로드하는것이 편하다.
rz, sz 명령어를 치면 ubuntu가 친절하게도 apg-get install ?  이하 명령어를 알려준다. 정말친절하다.

5. JDK 설치
sun 사 홈페이지에 가서 최신 jdk를 다운로드 한다.
zmodem을 이용하여 업로드한다.
/usr/local로 다운받은 파일을 이동한다.
#chmod a+x /usr/local/jdk-6u21-linux-i586.bin  <= 권한수정
#sh /usr/local/
jdk-6u21-linux-i586.bin 로 실행한다.
#update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.6.0_21/jre/bin/java" 1

링크명령어를 이용하여 복잡한 주소를 간단하게 링크건다.
#ln -s  /usr/local/jdk1.6.0_21  /usr/local/jdk
#vi /etc/profile 를 다음과 같이 추가하자.

PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin

완료후 java, javac 명령어를 쳐서 확인해보자. (
참고자료링크: http://blog.naver.com/gigar?Redirect=Log&logNo=60109622945)

6. Tomcat6 설치. : 참고링크 : http://blog.naver.com/hgh73?Redirect=Log&logNo=90090943931
다운로드 : wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz
#tar -xvzf apache-tomcat-6.0.14.tar.gz
#mv apache-tomcat-6.0.14 /usr/local/tomcat



작성중...