작업환경

  • windows 10
  • git bash

EC2 비밀번호 설정하기

INSTANCES - Instances로 이동해서 Launch Instance를 클릭합니다. E키 페어를 만들어서 .pem파일을 다운받거나, 기존에 만들어둔 키 페어를 사용해서 인스턴스를 시작할 수 있습니다.

NETWORK & SECURITY - Security Groups로 이동해서 Create Security Group을 클릭합니다. 양쪽으로 ssh 포트를 열어줍니다.

이제 외부에서 ssh로 접속할 수 있는 상태가 됐습니다. 저같은 경우에는 git bash를 사용해 접속하려고 합니다.

ssh -i ./<keyname>.pem <username>@<host>

위 방법은 키파일을 가지고 인스턴스에 접속하는 방법입니다. 불편함을 해소하고자 putty를 이용해봤는데 putty도 결국 키파일을 이용해서 접속하는 방법이기 때문에 다른 환경에서 접속하기 제한적입니다. 친절하게도 aws에서 해당 이슈를 문서로 지원해주고 있습니다.

인스턴스에서 아래와 같이 비밀번호를 설정할 수 있습니다.

$ sudo passwd <username>
Changing password for user <username>
New password:
Retype new password:

루트에서 해당 사용자의 비밀번호를 설정하려면 위와 같이하면 되며, 어떤 유저로 로그인된 상태에서는 그냥 passwd만 입력해주면 해당 계정의 비밀번호를 설정할 수 있습니다.

비밀번호 설정에 성공하면 아래와 같은 로그가 찍힙니다.

passwd: all authentication tokens updated successfully.

/etc/ssh/sshd_config 파일에서 PasswordAuthenticationyes로 변경한 다음 ssh를 restart합니다.

sudo service ssh restart

인스턴스를 빠져나와 아래와 같이 비밀번호로 인스턴스에 접속할 수 있게 되었습니다.

ssh <username>@<host>


git private 저장소 pull시 로그인 생략하기

인스턴스에서 git 저장소를 가져오려고 할때 private 저장소라면 항상 로그인을 해줘야합니다.

Settings - Developer settings - Personal access tokens에서 Generate new token을 클릭합니다. 여기를 클릭해 가이드를 따라하세요.

혹은 토큰을 만드는데까지만 똑같이 한 다음 저장소에 들어가 Clone or download - Use SSH를 클릭합니다. 기존에 clone 해왔던 저장소 url을 아래와 같이 바꾸거나

git remote set-url origin https://<your-access-token>@github.com/username/repo.git

혹은

git clone <ssh address>

를 입력하면 git 계정인증을 매번 할 필요가 없어집니다.


참조