Ubuntu 클라우드 버전은 SSH를 통해 "루트 로그인 없음"을 어떻게 시행합니까?

Ubuntu 클라우드 버전은 SSH를 통해 "루트 로그인 없음"을 어떻게 시행합니까?

루트 로그인을 거부하는 우분투 클라우드 버전 기본 설정을 조정하려고 합니다.

이러한 시스템에 연결을 시도하면 다음이 발생합니다.

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh [email protected]
The authenticity of host 'ec2-204-236-252-95.compute-1.amazonaws.com (204.236.252.95)' can't be established.
RSA key fingerprint is 3f:96:f4:b3:b9:4b:4f:21:5f:00:38:2a:bb:41:19:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-204-236-252-95.compute-1.amazonaws.com' (RSA) to the list of known hosts.
Please login as the ubuntu user rather than root user.

Connection to ec2-204-236-252-95.compute-1.amazonaws.com closed.

SSH를 통한 루트 차단이 어떤 구성 파일에 구성되어 있는지, 그리고 인쇄된 메시지를 어떻게 변경할 수 있는지 알고 싶습니다.

답변1

오래된 질문이지만 실제로 답변해 주는 사람이 아무도 없었고 저는 같은 질문을 받았습니다. 이 구성은 어디에서 왔습니까?

그것은에서 유래클라우드니트, 정확히는 cc_ssh.py안에/usr/lib/python2.7/dist-packages/cloudinit/config

이것은 차례로 파일에 직접적으로 의존합니다 /etc/cloud/cloud.cfg. 당신은 라인을 찾습니다 disable_root: true.

사용자 데이터를 조정하고 행을 추가하여 이를 재정의할 수 있어야 합니다 disable_root: false. 클라우드 제공업체는 사용자 데이터를 구성 가능하게 만들어야 합니다.

답변2

sshd 구성에 PermitRootLogin yes.

sudo grep "login as the ubuntu user" /root/.??*

그러나 Mike Scott이 제공한 링크는 철저하게 읽고 주의를 기울일 것을 강력히 권장하는 링크입니다.

루트 SSH

마지막으로 Ubuntu 보안 표준을 우회하고 ssh 및 rsync를 루트로 허용하는 이전 방식으로 되돌리려면 이 명령을 사용하여 공식 Ubuntu 이미지의 새 인스턴스를 엽니다.

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' 이는 권장되지 않지만 위에서 설명한 sudo 방식으로 업그레이드할 수 있을 때까지 기존 EC2 자동화 코드가 계속 작동하도록 하는 방법일 수 있습니다.

SSH가 활성화된 공개 서버는 범죄 봇넷의 루트 로그인 시도로 인해 밤낮으로 계속 공격을 받기 때문에 루트 SSH 로그인을 비활성화한 상태로 유지합니다.

다른 곳에서는 문서에서 경고합니다.

루트 계정을 활성화하는 것은 거의 필요하지 않습니다. Ubuntu 시스템의 관리자로서 수행해야 하는 거의 모든 작업은 sudo 또는 gksudo를 통해 수행할 수 있습니다. 영구 루트 로그인이 정말로 필요한 경우 가장 좋은 대안은 다음 명령을 사용하여 루트 로그인 셸을 시뮬레이션하는 것입니다.

sudo -i

답변3

대답은 여기에 있습니다:http://alestic.com/2009/04/ubuntu-ec2-sudo-ssh-rsync

우분투 계정의 Authorized_keys 파일을 루트 계정으로 복사합니다. 비밀번호 로그인이 비활성화되어 있으므로 모든 계정에 로그인하려면 유효한 SSH 키가 있어야 합니다.

답변4

/etc/ssh/sshd_config를 확인하세요. 옵션이 "루트 로그인 허용"입니다.

 PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be “yes”, “without-password”, “forced-commands-only”, or
         “no”.

더 유용한 설정 중 하나는 공개 키 인증을 사용하는 경우에만 루트에 로그인할 수 있는 "without -password"입니다. 자세한 내용은 man sshd_config를 참조하세요 :)

관련 정보