AWS의 발판 서버를 통해 대상 인스턴스에 연결합니다. part2
htps : // 이 m / 무슨 ny / ms / 50 a 514 56255811704
발판 서버로부터 접속하는 인스턴스의 작성 준비로부터 시작한다.
bastion을 통해 조작하려는 인스턴스 (target 인스턴스) 작성
target 인스턴스를 포함하는 VPC 서비스
1. target 인스턴스용 VPC 생성
aws ec2 create-vpc --cidr-block 10.2.0.0/16
aws ec2 create-tags --resources vpc-0ed7b004702d6b31f --tags Key=Name,Value=target_cli
2. target 인스턴스용 서브넷 생성
aws ec2 create-subnet --vpc-id vpc-0ed7b004702d6b31f --cidr-block 10.2.0.0/24
aws ec2 create-tags --resources subnet-066876581dbfa4f88 --tags Key=Name,Value=target_subnet_cli
target 인스턴스 작성 (키 페어는 이전에 만든 것을 사용한다)
1. 개인 키(bastion_cli_key)를 my_bastion으로 전송
scp -i .ssh/bastion_cli_key.pem .ssh/bastion_cli_key.pem [email protected]:/home/ec2-user
2. 비밀키의 권한을 400으로 하고, .ssh하하에 거둔다
ssh -i .ssh\bastion_cli_key.pem [email protected]
chmod 400 bastion_cli_key.pem
mv bastion_cli_key.pem .ssh
3. VPC를 피어링 연결하고 연결을 수락합니다.
aws ec2 create-vpc-peering-connection --vpc-id vpc-0ed7b004702d6b31f --peer-vpc-id vpc-0074168dfa72a5826
aws ec2 accept-vpc-peering-connection --vpc-peering-connection-id pcx-094d895104a32cf4a
4. 각 VPC의 라우팅 테이블에서 상대방의 VPC에 대한 통신을 피어링 연결에 연결할 수 있도록 합니다.
# bastion側のカスタムルートテーブルにピアリング接続へのルートを加える
aws ec2 create-route --route-table-id rtb-0362a010826fc18bc --destination-cidr-block 10.2.0.0/16 --vpc-peering-connection-id pcx-094d895104a32cf4a
# target側のメインルートテーブルにピアリング接続へのルートを加える
aws ec2 create-route --route-table-id rtb-02a9cca2b46dac9a2 --destination-cidr-block 10.1.0.0/16 --vpc-peering-connection-id pcx-094d895104a32cf4a
5. target 인스턴스에 대한 보안 그룹 생성. 22와 10000번 포트에 오는 SSH만 허가
aws ec2 create-security-group --group-name from_bastion_ssh --description "Security group for SSH access from bastion" --vpc-id vpc-0ed7b004702d6b31f
aws ec2 authorize-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 22 --source-group sg-04fa98bf54b2c3602
aws ec2 authorize-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 10000 --source-group sg-04fa98bf54b2c3602
6. target의 EC2 인스턴스 생성. 무료 프레임의 AMI(Amazon 머신 이미지) 선택
aws ec2 run-instances --image-id ami-0d7ed3ddb85b521a6 --count 1 --instance-type t2.micro --key-name bastion_cli_key --security-group-ids sg-098ded7f7da9bc597 --subnet-id subnet-066876581dbfa4f88
aws ec2 create-tags --resources i-04b09b50680736f5f --tags Key=Name,Value=my_target
7. bastion을 통해 target 인스턴스에 연결
# クライアント端末のpowershellで実行
ssh -i .ssh\bastion_cli_key.pem [email protected]
# bastionで実行
ssh -i .ssh/bastion_cli_key.pem [email protected]
8. sshd_config 편집
cd /etc/ssh/
# sshd_configを退避
sudo cp sshd_config sshd_configbk
# sshd_configを編集
sudo vim sshd_config
차이는 이런 느낌
< Port 22
---
> Port 10000
9. target 인스턴스 재시작
aws ec2 reboot-instances --instance-ids i-04b09b50680736f5f
10. 22번 포트에서는 접속할 수 없고, 10000번 포트로 접속할 수 있는지 확인
[ec2-user@ip-10-1-0-184 ~]$ ssh -p 22 -i .ssh/bastion_cli_key.pem [email protected]
ssh: connect to host 10.2.0.78 port 22: Connection refused
[ec2-user@ip-10-1-0-184 ~]$ ssh -i .ssh/bastion_cli_key.pem -p 10000 [email protected]
Last login: Sun Jan 27 03:35:37 2019 from 10.1.0.184
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
11. target 인스턴스에 연결하는 보안 그룹에서 22번 포트의 통신 권한을 제거합니다.
aws ec2 revoke-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 22 --source-group sg-04fa98bf54b2c3602
이것으로 이하의 구성이 완성되었다.
궁금한 점, 넘어진 점
aws ec2 create-vpc --cidr-block 10.2.0.0/16
aws ec2 create-tags --resources vpc-0ed7b004702d6b31f --tags Key=Name,Value=target_cli
aws ec2 create-subnet --vpc-id vpc-0ed7b004702d6b31f --cidr-block 10.2.0.0/24
aws ec2 create-tags --resources subnet-066876581dbfa4f88 --tags Key=Name,Value=target_subnet_cli
scp -i .ssh/bastion_cli_key.pem .ssh/bastion_cli_key.pem [email protected]:/home/ec2-user
ssh -i .ssh\bastion_cli_key.pem [email protected]
chmod 400 bastion_cli_key.pem
mv bastion_cli_key.pem .ssh
aws ec2 create-vpc-peering-connection --vpc-id vpc-0ed7b004702d6b31f --peer-vpc-id vpc-0074168dfa72a5826
aws ec2 accept-vpc-peering-connection --vpc-peering-connection-id pcx-094d895104a32cf4a
# bastion側のカスタムルートテーブルにピアリング接続へのルートを加える
aws ec2 create-route --route-table-id rtb-0362a010826fc18bc --destination-cidr-block 10.2.0.0/16 --vpc-peering-connection-id pcx-094d895104a32cf4a
# target側のメインルートテーブルにピアリング接続へのルートを加える
aws ec2 create-route --route-table-id rtb-02a9cca2b46dac9a2 --destination-cidr-block 10.1.0.0/16 --vpc-peering-connection-id pcx-094d895104a32cf4a
aws ec2 create-security-group --group-name from_bastion_ssh --description "Security group for SSH access from bastion" --vpc-id vpc-0ed7b004702d6b31f
aws ec2 authorize-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 22 --source-group sg-04fa98bf54b2c3602
aws ec2 authorize-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 10000 --source-group sg-04fa98bf54b2c3602
aws ec2 run-instances --image-id ami-0d7ed3ddb85b521a6 --count 1 --instance-type t2.micro --key-name bastion_cli_key --security-group-ids sg-098ded7f7da9bc597 --subnet-id subnet-066876581dbfa4f88
aws ec2 create-tags --resources i-04b09b50680736f5f --tags Key=Name,Value=my_target
# クライアント端末のpowershellで実行
ssh -i .ssh\bastion_cli_key.pem [email protected]
# bastionで実行
ssh -i .ssh/bastion_cli_key.pem [email protected]
cd /etc/ssh/
# sshd_configを退避
sudo cp sshd_config sshd_configbk
# sshd_configを編集
sudo vim sshd_config
< Port 22
---
> Port 10000
aws ec2 reboot-instances --instance-ids i-04b09b50680736f5f
[ec2-user@ip-10-1-0-184 ~]$ ssh -p 22 -i .ssh/bastion_cli_key.pem [email protected]
ssh: connect to host 10.2.0.78 port 22: Connection refused
[ec2-user@ip-10-1-0-184 ~]$ ssh -i .ssh/bastion_cli_key.pem -p 10000 [email protected]
Last login: Sun Jan 27 03:35:37 2019 from 10.1.0.184
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
aws ec2 revoke-security-group-ingress --group-id sg-098ded7f7da9bc597 --protocol tcp --port 22 --source-group sg-04fa98bf54b2c3602
aws ec2 start-instances --instance-ids <instance_id>
aws ec2 describe-instance-status
그러면 시작중인 인스턴스 만 표시됩니다.aws ec2 reboot-instances --instance-ids <instance_id>
Reference
이 문제에 관하여(AWS의 발판 서버를 통해 대상 인스턴스에 연결합니다. part2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nannany/items/db7f73d403d75f81881e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)