centos7은 srv7, centos8은 srv8
둘다 vmnet 10으로 되어있는 지 (동일 네트워크로 되어 있는 지 확인
[네트워크 관련 명령]
IP 확인
ip addr list
또는
ip addr show
centos7 : 211.183.3.201 (server)
centos8 : 211.183.3.111 (client)
[centos8]
ping -c 3 211.183.3.201
또는
[centos7]
[root@srv7 ~]# yum -y install net-tools
[root@srv7 ~]# ifconfig ens32
게이트웨이는 확인 되지 않음
ip route
[root@srv7 ~]# ip route
default via 211.183.3.2 dev ens32 proto static metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
211.183.3.0/24 dev ens32 proto kernel scope link src 211.183.3.201 metric 100
netstat -nr
[root@srv7 ~]# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 211.183.3.2 0.0.0.0 UG 0 0 0 ens32
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
211.183.3.0 0.0.0.0 255.255.255.0 U 0 0 0 ens32
이름을 통해 연결되도록하기
[centos7], [centos8]
[root@srv7 ~]# cat <<EOF >> /etc/hosts
> 211.183.3.201 centos7
> 211.183.3.111 centos8
> EOF
[root@srv7 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
211.183.3.1 myhome
211.183.3.201 centos7
211.183.3.111 centos8
ping으로 확인하기
ping -c 3 centos7
ping -c 3 centos8
[root@srv7 ~]# nslookup
> server
Default server: 8.8.8.8
Address: 8.8.8.8#53
> www.naver.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.naver.com canonical name = www.naver.com.nheos.com.
www.naver.com.nheos.com canonical name = www.naver.com.edgekey.net.
www.naver.com.edgekey.net canonical name = e6030.a.akamaiedge.net.
Name: e6030.a.akamaiedge.net
Address: 23.196.172.185
[root@srv7 ~]# gedit /etc/ssh/sshd_config
# PublicKeyAuthentication yes의 주석 해제 후 저장
[root@srv7 ~]# systemctl restart sshd
서비스 실행 시 오류가 발생한다면
# 1
systemctl status sshd
# 2
journalctl -xe
[centos8]
[root@srv8 ~]# ssh -l root centos7
The authenticity of host 'centos7 (211.183.3.201)' can't be established.
ECDSA key fingerprint is SHA256:44viTkfnNTH0bGYXYuOA02oc/YdWRpZxsZT0owY60CI.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'centos7,211.183.3.201' (ECDSA) to the list of known hosts.
root@centos7's password:
Last login: Tue Jul 19 14:59:59 2022
=========================
HELLO ALL
=========================
[root@srv7 ~]# exit
logout
# .ssh 파일이 만들어짐
# 다시 접속해보면 아까처럼 룸어보지 않고 사용자인증(pw입력창)이 뜸
[root@srv8 ~]# ssh -l root centos7
known_hosts에 등록하고 다시 ssh -l 하면 바로 password물어보게됨
스크립트로 돌려 ssh-keyscan으로
centos7부분을 나중에는 host
public key필요하고 서버 인증이 필요하고, 사용자 인증(pw)을 해야하면 접속 가능
두번째 방법
key를 이용해 접속 → 한쌍의 key pair만들기
[centos7]
[root@srv7 ~]# ssh-keygen -q -f ~/.ssh/testkey.pem -N ""
[root@srv7 ~]# ls ~/.ssh
known_hosts testkey.pem testkey.pem.pub
[root@srv7 ~]# cd ~/.ssh
[root@srv7 .ssh]# cp testkey.pem.pub authorized_keys
[root@srv7 .ssh]# systemctl restart sshd
[root@srv7 ~]# cat ~/.ssh/testkey.pem
# private key 복사
[centos8]
[root@srv8 ~]# touch testkey.pem
[root@srv8 ~]# gedit testkey.pem
# centos7에서 복사했던 private key 붙여넣기
[root@srv8 ~]# chmod 600 testkey.pem
[root@srv8 ~]# ssh -i testkey.pem centos7 ifconfig
정보나옴
[root@srv8 ~]# ssh -i testkey.pem centos7
Last login: Tue Jul 19 16:55:40 2022
=========================
HELLO ALL
=========================
centos7(server) centos8(client)
←——- 1. 서버 인증 ————>
←——- 2. 사용자 인증 ———→
user1 pub /pri
user2 pub /pri
root pub /pri
testkey.pem이라는 private key만들어 클라이언트가 가져갔고, 서버쪽에는 testkey.pem.pub 파일이 있음
pub 키 3개를 묶어 .ssh/authorized_keys에 key파일 내용을 넣음
개인은 private key를 파일 형태로 가짐. /pri를 가지고 접속을 시도함. 위 파일(authorized_keys)에서 한쌍이 맞는 공개키가 있는 지 확인 후 있으면 접속할 수 있게 됨
실제 환경이라면 관리서버에서 key-pair 생성한다.
관리자는 private key를 갖는다. public key는 내가 관리하고자하는 다수의 서버에 등록시킨다.
원격지에 있는 서버에 public key를 등록하기 위해서는 ssh-copy-id를 이용한다.
관리용 서버의 .ssh/authorized_keys에 등록시킨다.
우리는 인스턴스 템플릿 이미지에 미리 public key를 넣어둘 예정이다.
