我在 AWS 中运行 pfSense 21.05.2
。我可以用 ssh 进入ec2-user
,我可以看到该sudo
包(0.3_6
依赖于sudo-1.9.7
)已预先安装。在 Web 界面中,在System
>下Sudo
,我可以看到ec2-user
具有 的Run As
权限root
并且No Password
已被选中,并且Command List
是ALL
。
这是我在 shell 中观察到的行为:
> whoami
ec2-user
> sudo su -
su: Sorry
答案1
sudo su - admin
让你成为root
。
在 AWS pfSense 中21.05.2
,您可以使用用户名 admin
root
选择选项 8 后将自动显示:
ssh -i ~/.ssh/your_key.pem admin@<your_ip>
*** Welcome to Netgate pfSense Plus 21.05.2-RELEASE (amd64) on pfsense ***
WAN (wan) -> ena0 -> v4/DHCP4: <your_ip>/<bits>
0) Logout (SSH only) 9) pfTop
1) Assign Interfaces 10) Filter Logs
2) Set interface(s) IP address 11) Restart webConfigurator
3) Reset webConfigurator password 12) PHP shell + Netgate pfSense Plus tools
4) Reset to factory defaults 13) Update from console
5) Reboot system 14) Disable Secure Shell (sshd)
6) Halt system 15) Restore recent configuration
7) Ping host 16) Restart PHP-FPM
8) Shell
Enter an option: 8
> whoami
root
> cat /usr/local/etc/sudoers
root ALL=(root) ALL
admin ALL=(root) ALL
%admins ALL=(root) ALL
ec2-user ALL=(root) NOPASSWD: ALL
您将看到包含/root/.ssh/authorized_keys
与/home/ec2-user/.ssh/authorized_keys
您启动实例时指定的密钥相同的密钥。
如果您尝试以 身份登录root@<your_ip>
,将会收到Permission denied (publickey).
错误。
sudo su -
该功能本身不起作用的原因是,如果没有指定用户名,root
则暗示您无法root
直接登录(而必须通过admin
菜单)。