Ubuntu 雲版本如何通過 ssh 強制執行“無 root 登錄”?
我正在尋求調整 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