AWS에서 ubuntu 서버를 만들면, terminal을 이용하여 여러가지 방법으로 mac에서 원격접속을 할 수 있다.
AWS에서 보안 그룹 설정이 되어있어야한다. 되어있지 않다면 이 곳을 참조하자.
1. AWS에서 제공한 pem파일로 접속하기
AWS에서 서버를 만들때 다운받은 pem파일로 간단하게 접속할 수 있다.
1 | ssh -i /PATH/TO/PEM/name.pem UBUNTU_USERNAME@SERVER_IPADDRESS | cs |
위와 같이 pem파일 경로와 우분투 사용자계정이름(ex ubuntu), 서버의 퍼블릭 ip address를 입력하면 접속이 된다.
2. Mac의 개인 public키로 접속하기
개인 public키로 접속하기 위해서는 먼저 1. 의 방법으로 서버에 접속해서 Ubuntu OS의 새로운 user를 만들어주고, 그 유저의 home directory안에 있는 .ssh폴더에 우리가 원격 접속하려는 컴퓨터의 public key를 넣어줘야한다.
말이 복잡한데 차근차근 시작해보자.
1) 접속하고 싶은 local mac에서 해야할 것
사용자의 home directory에서 ls -al 명령어를 치면 아래 그림 처럼 .ssh라는 숨김 폴더가 있다.
.ssh directory안에 들어가게되면 id_rsa, id_rsa.pub파일이 있을 것이다. (없다면 이 곳을 참조해서 만들면 된다.)
less id_rsa.pub 명령어로 key 파일 안의 내용을 출력하고 클립보드에 복사해놓자.
2) 접속할 서버에서 해야할 것
서버 home directory에서 nano pubkey 명령어를 입력하여 빈 파일을 만들고, 그 안에 클립보드에 복사해놓았던 public key를 붙여넣자.
ctrl + x, y입력 후 enter 키로 저장하고 나온다.
그리고 nano /usr/local/bin/adduser 명령어로 adduser 스크립트를 만들자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | cd echo -n "Enter Username>" read username echo $username useradd -m $username usermod -s /bin/bash $username cd /home/$username mkdir /home/$username/.ssh echo -n "Enter Public ssh-key file>" read myssh cat $myssh >> /home/$username/.ssh/authorized_keys chmod 644 /home/$username/.ssh/authorized_keys chmod 700 /home/$username/.ssh chown -R $username /home/$username/.ssh chgrp -R $username /home/$username/.ssh cd usermod -aG sudo $username passwd $username echo "sudo user account made successfully!" | cs |
위의 내용을 복사해서 adduser 에 복사한다.
스크립트의 내용을 대략 설명하면 다음과같다.
1) home directory로 이동한다.
2-6) 사용자로부터 새로운 우분투 유저 이름을 입력받아 생성한다.
7-11) 새로 만든 유저의 ssh public key를 받아서 저장한다.
12-17) .ssh 디렉토리의 권한을 새로만든 유저에게 위임하고 sudo(관리자) 그룹에 추가한다.
18) 새로만든 계정의 비밀번호를 설정한다.
19) 끝~!
스크립트를 만들었으면 실행가능하도록 바꿔줘야한다.
chmod u+x /usr/local/bin/adduser 를 입력하여 adduser를 실행가능한 스크립트로 만든다.
이제 모든 준비가 끝났다!
이제 현재 디렉토리에 위치와 상관없이 adduser 를 입력하면 스크립트가 실행된다.
새로만들 계정의 유저 이름을 입력하고 아까 만들어둔 pubkey가 있는 경로를 입력. ( ex) /home/ubuntu/pubkey )
adduser 스크립트를 pubkey가 있는 경로에서 실행했으면 pubkey만 입력해줘도 된다
비밀번호를 입력하면 끝!
원격으로 접속할 컴퓨터에서 ssh 지정한유저이름@서버ip주소 를 입력하면 바로 접속이된다.