Ubuntu

Ubuntu 雲版本如何通過 ssh 強制執行“無 root 登錄”?

  • September 28, 2015

我正在尋求調整 ubuntu 雲版本預設設置,其中拒絕 root 登錄。

嘗試連接到此類機器會產生:

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh root@ec2-204-236-252-95.compute-1.amazonaws.com
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 阻止的 root 以及如何更改列印的消息?

老問題,但沒有人真正回答你,我也有同樣的問題:這個配置來自哪裡?

它起源於cloudinit,正好在cc_ssh.py裡面/usr/lib/python2.7/dist-packages/cloudinit/config

這又直接依賴於文件/etc/cloud/cloud.cfg。你找到一條線disable_root: true

您應該可以通過調整使用者數據並添加 line 來覆蓋它disable_root: false。您的雲提供商應該使使用者數據可配置。

假設您的 sshd 配置具有PermitRootLogin yes.

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

但是,邁克斯科特提供的連結是我強烈建議您仔細閱讀並註意的連結。

根SSH

最後,如果您希望繞過 Ubuntu 安全標準並恢復允許 ssh 和 rsync 作為 root 的舊做法,此命令將為官方 Ubuntu 映像的新實例打開它:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' 不建議這樣做,但它可能是一種讓現有 EC2 自動化程式碼繼續工作的方法,直到您可以升級到上述 sudo 實踐。

我一直禁用 root SSH 登錄,因為任何啟用 SSH 的面向公眾的伺服器都會日夜不斷地受到來自犯罪殭屍網路的 root 登錄嘗試的攻擊。

其他地方的文件警告

很少需要啟用 Root 帳戶。作為 Ubuntu 系統的管理員,您需要做的幾乎所有事情都可以通過 sudo 或 gksudo 完成。如果您確實需要持久的 Root 登錄,最好的替代方法是使用以下命令模擬 Root 登錄 shell…

sudo -i

引用自:https://serverfault.com/questions/216174