반응형

이전 포스팅에 이어서 SSH 접속 로그인을 이어 진행하려고 합니다.

putty나 Powershell이 아닌 Xshell이라는 프로그램으로 접속을 해보겠습니다.

앞서 만든 Bastion 서버에 아이디와 패스워드를 이용하여 접속합니다.

 

이후 다른 Private서버에 접속하려면 키가 없어서 Permission Denied 오류가 발생합니다.

 

그래서 위와 같이 구현을 해서 조금 더 보안성있고 간단하게 접속해보려고 합니다.

Bastion이라고 하는 내부 인스턴스 접근을 도울 서버를 만들고 ID/PW를 이용한 사용자 인증으로 접속하게 됩니다.

해당 사용자가 권한이 있는 내부 서버에 접속을 하기 위해서 매번 키를 가져다니기도 힘들고

또 그렇다고 서버에 저장을 시켜두면 보안상으로 좋지 않습니다.

 

그래서 아래와 같은 방법으로 구현을 해봅니다.

 

Bastion 사용자가 PrivateKey를 가지고 Privater Server에 PublicKey를 두어 키가 있는 사용자만

접속이 가능하게 끔 만들면 됩니다.

 

 

1. 공개키 생성

1
2
cd /home/유저명
ssh-keygen -t rsa
cs

 

- 다음과 같이 자신의 home/유저명 에서 명령어를 입력해서 만들어 줍니다.

 

 

2. 키 확인

 

1
2
cd .ssh
ls
cs

- 위 명령어를 이용한  KEY 확인을 합니다.

 

 

3. EC2-2 (Private Server) 유저 생성

 

1
2
3
sudo -s
useradd 유저명
passwd 유저명
cs

- 프라이빗 서버에 접속을 위한 유저를 만들어 줍니다.

 

4. root 권한 주기, 비밀번호 사용 ON, 재시작

1
nano /etc/sudoers
nano /etc/ssh/sshd_config
systemctl restart sshd
cs

- johncom 유저에게 수도 권한을 주고 비밀번호를 활성화 시킨 다음 재시작 한 번 해줍니다.

 

 

5. 공개키 설정

 

1
2
cd .ssh
scp id_rsa.pub 유저아이디@내IP:/home/유저아이디/authorized_keys
cs

-  EC2-1 (Bastion) 에서 EC2-2 (private server)로 공개키를 보낸다.

 

1
2
3
4
5
6
7
8
9
mkdir .ssh # 키를 담기 위한 .ssh 폴더 생성
ls -al # 권한 확인
 
## 권한 변경
chmod 700 .ssh
chmod 600 authorized_keys
 
# 키 이동
mv authorized_keys .ssh/authorized_keys

nano /etc/ssh/sshd_config
systemctl restart sshd
cs


- EC2-2 에서 위에 명령어와 같이 .ssh폴더를 생성하고 권한을 부여해주고 난 후 passwd들 다시 NO로 바꿔준다.

 

이후 인터널 접근을 해보면 비밀번호 없이 공개키과 개인키를 이용하여 접속이 된다.

반응형