출발지(A 리눅스) 에서 목적지(B 리눅스)에 터미널로 접속 하기
※ 접속 대상 리눅스 서버에 퍼블릭키 설정 (B 리눅스)
- 대상 계정의 홈 디렉토리/.ssh/authorized_keys 파일을 열어서 퍼블릭키 추가 (여러줄 입력 가능)
- .ssh 디렉토리 퍼미션은 755
- authorized_keys 파일 퍼미션은 644 (600 일 때 되기도 하네)
※ 출발지 리눅스 (A 리눅스)에서 접속 하기
□ 방법 1
- 로그인한 계정(A 리눅스)에 접속할 리눅스 서버 접속을 위한 프라이빗키를 저장
→ 로그인한 계정의 홈 디렉토리/.ssh/ 경로에 키 저장. 프라이빗 키는 pem 파일을 id_rsa 이름으로 저장한다
이 때 프라이빗키 파일의 권한은 400 이어야 함
- ssh 192.168.3.1 엔터 → 이 때 위에 저장해둔 프라이빗 키를 이용해서 로그인을 시도 함 (IP는 목적지인 B 리눅스)
□ 방법 2
- 프라이빗키 파일을 아무데나 두고 아래와 같이 파일 위치를 지정해서 접속을 한다.
이 때 프라이빗키 파일의 권한은 400 이어야 함
- ssh -i "awsconnect.pem" ubuntu@192.168.3.1 → 샘플 명령어 (IP는 목적지인 B 리눅스)
□ 방법 3
- 로그인한 계정의 홈 디렉토리/.ssh/config 파일에 아래의 내용 추가 (아래 내용은 샘플)
- IdentityFile 에서 지정한 경로에 키 파일 저장. 이 때 pem 파일의 권한은 400 이어야 함
- ssh web01 엔터
#--------------------------------------------
# Web
#--------------------------------------------
Host web01
HostName 192.168.3.1
Port 22
User userid
RSAAuthentication yes
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/.keys/awsconnect.pem
Host web02
HostName 192.168.3.2
Port 22
User userid
RSAAuthentication yes
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/.keys/awsconnect.pem
# 윈도우 환경에서 셋팅했던 것 (윈도우 -> 리눅스)
#ProxyCommand 부분이 터널링 설정인 듯
Host bastionHost
HostName XXX.XXX.XXX.XXX
Port 2022
User ubuntu
IdentityFile C:\privatekey 파일명
Host adminHost
HostName XXX.XXX.XXX.XXX
Port 2022
User ubuntu
IdentityFile C:\privatekey 파일명
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -q -W %h:%p bastionHost