ssh에서 한발 root 로그인 @GCE for ISUCON5 4단계!
우리 GCPUG에서는 가능한 한 지원하게 되었습니다.
GCPUG 감사합니다. htp // gc 푸g. jp/
조속히 GCE에서 질문이 왔습니다.
GCE의 인스턴스에 ssh로 루트 로그인했다 ーー! !
GCE 및 GCP는 기본적으로 Apps(gmail) 계정과 강력하게 연결되며 GCP에 액세스할 수 있는 사용자는 자동으로 각 VM에 로그인할 수 있는 훌륭한 기능입니다. 그래서 루트 사용자로 로그인하고 싶다면, 그런 사용자 Apps에 없다고 합니다. 본래는 매우 편리한 gcloud 커멘드로입니다만, 수수께끼 랩핑 되고 있기 (위해)때문에, root로 로그인이 되면(자) 보통으로는 하기 어려운 것이 아닐까 하는 예상.
기동전에 유저 만들어, ssh 커멘드로 넣으면 해결입니다.
필요한 것
대회 제공 연습용 이미지
>여기의 사이트에 초자세히 실려 있으므로 카피한다.
htp // 이스콘. 네 t/아 r ゔぇ s/45253058. HTML#5_1
로컬 루트 사용자의 키 (아래 Step1에서 작성
절차 개요
Step1) 로컬에서 루트 사용자의 키 생성
Step2) GCE의 VM 작성시 상기 키를 등록
Step3) VM 시작 후 PermitRootLogin yes 변경 && 재부팅
Step4) 로컬에서 ssh 명령으로 키 지정하여 로그인
상세 절차
Step1) 로컬에서 열쇠 만들기
위 환경에서 만들었습니다.
루트가 되어
$sudo su -
.ssh 폴더 만들기
$ mkdir .ssh
$ cd .ssh/
열쇠 만들기. (예는 노패스이지만, 패스프레이즈 붙여줘 절대로다)
ssh-keygen -d -f nopass-dsa -N ''
열쇠가 생겼으므로 pub 복사
cat nopass-dsa.pub
Step2) VM 작성시 대회 제공 절차와 다른 것을 하나한다
VM 생성 시 고급 설정 > 액세스 및 보안 중
SSH 키를 등록할 수 있으므로 Step1에서 복사한 공개키를 페초한다.
재밌게 시작합니다.
Step3) sshd_config의 설정을 바꾸어 반영한다.
아직 루트 로그인 할 수 없으므로 GCP 콘솔의 WebUI 등으로
해당 VM에 로그인하고 sshd_config를 변경합니다.
루트로 구성 열기
sudo vim /etc/ssh/sshd_config
아래 매개변수 변경
변경 전 PermitRootLogin no
변경 후 PermitRootLogin yes
sshd를 다시 시작하고 반영
sudo service sshd restart
Step4) 로컬에서 루트로 ssh
Step1의 개인 키를 지정하고 ssh 명령을 사용하여 로그인
기본값은 고정 IP가 없으므로 연결 대상은
임시 외부 IP에 연결하기
ssh 명령
$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP
결과
[root@test-a2c-ic-001 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 42:01:0A:F0:1B:48
inet addr:10.240.27.72 Bcast:10.240.27.72 Mask:255.255.255.255
inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972508 (949.7 KiB) TX bytes:1409613 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5098 (4.9 KiB) TX bytes:5098 (4.9 KiB)
[root@test-a2c-ic-001 ~]#
와우 넣어
개 rm -rf /
무제한
생각한 것
대회 제공 연습용 이미지
>여기의 사이트에 초자세히 실려 있으므로 카피한다.
htp // 이스콘. 네 t/아 r ゔぇ s/45253058. HTML#5_1
로컬 루트 사용자의 키 (아래 Step1에서 작성
절차 개요
Step1) 로컬에서 루트 사용자의 키 생성
Step2) GCE의 VM 작성시 상기 키를 등록
Step3) VM 시작 후 PermitRootLogin yes 변경 && 재부팅
Step4) 로컬에서 ssh 명령으로 키 지정하여 로그인
상세 절차
Step1) 로컬에서 열쇠 만들기
위 환경에서 만들었습니다.
루트가 되어
$sudo su -
.ssh 폴더 만들기
$ mkdir .ssh
$ cd .ssh/
열쇠 만들기. (예는 노패스이지만, 패스프레이즈 붙여줘 절대로다)
ssh-keygen -d -f nopass-dsa -N ''
열쇠가 생겼으므로 pub 복사
cat nopass-dsa.pub
Step2) VM 작성시 대회 제공 절차와 다른 것을 하나한다
VM 생성 시 고급 설정 > 액세스 및 보안 중
SSH 키를 등록할 수 있으므로 Step1에서 복사한 공개키를 페초한다.
재밌게 시작합니다.
Step3) sshd_config의 설정을 바꾸어 반영한다.
아직 루트 로그인 할 수 없으므로 GCP 콘솔의 WebUI 등으로
해당 VM에 로그인하고 sshd_config를 변경합니다.
루트로 구성 열기
sudo vim /etc/ssh/sshd_config
아래 매개변수 변경
변경 전 PermitRootLogin no
변경 후 PermitRootLogin yes
sshd를 다시 시작하고 반영
sudo service sshd restart
Step4) 로컬에서 루트로 ssh
Step1의 개인 키를 지정하고 ssh 명령을 사용하여 로그인
기본값은 고정 IP가 없으므로 연결 대상은
임시 외부 IP에 연결하기
ssh 명령
$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP
결과
[root@test-a2c-ic-001 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 42:01:0A:F0:1B:48
inet addr:10.240.27.72 Bcast:10.240.27.72 Mask:255.255.255.255
inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972508 (949.7 KiB) TX bytes:1409613 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5098 (4.9 KiB) TX bytes:5098 (4.9 KiB)
[root@test-a2c-ic-001 ~]#
와우 넣어
개 rm -rf /
무제한
생각한 것
위 환경에서 만들었습니다.
루트가 되어
$sudo su -
.ssh 폴더 만들기
$ mkdir .ssh
$ cd .ssh/
열쇠 만들기. (예는 노패스이지만, 패스프레이즈 붙여줘 절대로다)
ssh-keygen -d -f nopass-dsa -N ''
열쇠가 생겼으므로 pub 복사
cat nopass-dsa.pub
Step2) VM 작성시 대회 제공 절차와 다른 것을 하나한다
VM 생성 시 고급 설정 > 액세스 및 보안 중
SSH 키를 등록할 수 있으므로 Step1에서 복사한 공개키를 페초한다.
재밌게 시작합니다.
Step3) sshd_config의 설정을 바꾸어 반영한다.
아직 루트 로그인 할 수 없으므로 GCP 콘솔의 WebUI 등으로
해당 VM에 로그인하고 sshd_config를 변경합니다.
루트로 구성 열기
sudo vim /etc/ssh/sshd_config
아래 매개변수 변경
변경 전 PermitRootLogin no
변경 후 PermitRootLogin yes
sshd를 다시 시작하고 반영
sudo service sshd restart
Step4) 로컬에서 루트로 ssh
Step1의 개인 키를 지정하고 ssh 명령을 사용하여 로그인
기본값은 고정 IP가 없으므로 연결 대상은
임시 외부 IP에 연결하기
ssh 명령
$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP
결과
[root@test-a2c-ic-001 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 42:01:0A:F0:1B:48
inet addr:10.240.27.72 Bcast:10.240.27.72 Mask:255.255.255.255
inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972508 (949.7 KiB) TX bytes:1409613 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5098 (4.9 KiB) TX bytes:5098 (4.9 KiB)
[root@test-a2c-ic-001 ~]#
와우 넣어
개 rm -rf /
무제한
생각한 것
아직 루트 로그인 할 수 없으므로 GCP 콘솔의 WebUI 등으로
해당 VM에 로그인하고 sshd_config를 변경합니다.
루트로 구성 열기
sudo vim /etc/ssh/sshd_config
아래 매개변수 변경
변경 전
PermitRootLogin no
변경 후 PermitRootLogin yes
sshd를 다시 시작하고 반영
sudo service sshd restart
Step4) 로컬에서 루트로 ssh
Step1의 개인 키를 지정하고 ssh 명령을 사용하여 로그인
기본값은 고정 IP가 없으므로 연결 대상은
임시 외부 IP에 연결하기
ssh 명령
$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP
결과
[root@test-a2c-ic-001 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 42:01:0A:F0:1B:48
inet addr:10.240.27.72 Bcast:10.240.27.72 Mask:255.255.255.255
inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972508 (949.7 KiB) TX bytes:1409613 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5098 (4.9 KiB) TX bytes:5098 (4.9 KiB)
[root@test-a2c-ic-001 ~]#
와우 넣어
개 rm -rf /
무제한
생각한 것
$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP
[root@test-a2c-ic-001 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 42:01:0A:F0:1B:48
inet addr:10.240.27.72 Bcast:10.240.27.72 Mask:255.255.255.255
inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:972508 (949.7 KiB) TX bytes:1409613 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5098 (4.9 KiB) TX bytes:5098 (4.9 KiB)
[root@test-a2c-ic-001 ~]#
와우 넣어
개
rm -rf /
무제한생각한 것
VM에 들어가서 사용자를 만들고 활성화하고 키를 만들고 어떻게 하는 것보다 VM을 만들 때 열쇠를 건네줄 뿐이므로, 생각했던 만큼 귀찮지 않을 것.
sugyan과 tagomoris라는 폴더가 있기 때문에 nfs 마운트되고 있는지 비비었지만 이거는 쓰레기이므로 신경 쓰지 않고 좋다. 부드럽게 지워주세요. (이것 대응중 같다, 그 중 사라져 있을지도)
이상
Reference
이 문제에 관하여(ssh에서 한발 root 로그인 @GCE for ISUCON5 4단계!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atusi/items/4d0b64b4a55e113d95a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)