Openstack에서 VM ssh로 접근하기
Openstack에서 VM에 ssh로 접근하기
network host에서 원하는 VM으로 아래 command를 사용해서 접근
ip netns exec qrouter-<router-id> ssh -l ubuntu <fiexd-ip>
key가 필요한 경우 network host에 pem이 있으면 지정해주면 됨.
key가 내 desktop에 있는 경우에는 ssh-forward를 통해서 내 local machine에 있는 pem을 보내준다. command line에서는 아래 같이
ssh -l centos 192.168.1.100 -A
ssh/config에는 아래와 같이
Host controller
HostName 192.168.1.100
User root
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes
이를 위해서는 ssh-agent가 실행되고 있어야하는데 실행되고 있지 않다면 아래와 같이 실행
eval `ssh-agent -s`
ssh-add
eval을 통해서 실행해야 됨. 이유가 아마도 ssh-agent가 실행되고 이것과 통신하려면 unix socket으로 해야해서 그 socket을 환경변수로 공유하기 위해서..
ssh-add로 pem key를 ssh-agent에 추가해 줌. 인자가 없으면 default로 ~/.ssh/id_rsa 같은 순서로 접근가능
debug가 필요하면 ssh 실행시에 -v로 option주면 verbose mode가 되면서 충분한 정보가 나옴
제대로 ssh forwarding이 되는지 확인하기 위해서는 login 한 host에서 아래와 같이 하면
# echo $SSH_AUTH_SOCK
/tmp/ssh-BjCnCxGgJU/agent.48480
socket path가 출력되면 제대로 되고 있음
이제 network host에서 virtual private network으로 들어가기
# ip netns

References