管理面板Ajenti的在Windows10下Ubuntu24.04/Ubuntu22.04里的配置管理
Ajenti是一款基于Web的开源系统管理控制面板,可用于通过Web浏览器,管理远程系统管理性任务,这一点与 Webmin模块 非常相似。 Ajenti是一款功能非常强大的轻型工具,它提供了快速的、反应灵敏的Web界面,可用于管理小型服务器环境,还最适合虚拟专用服务器(VPS)和专门服务器。
安装见:管理面板Ajenti的在Windows10下Ubuntu24.04里的安装-CSDN博客
总结:Ubuntu22.04配置管理没问题,Ubuntu24.04登录上去之后页面空白,无法配置。
启动服务
安装好后,启动服务:
sudo ajenti-panel
也可以使用 systemctl 来启动,但是我没有试出来这个服务,估计要在Ubuntu实体机下才可以。
sudo systemctl stop ajenti.service
sudo systemctl start ajenti.service
启动服务后,默认会在0.0.0.0:8000监听服务,比如这台Ubuntu主机的ip地址是172.25.18.186,那么可以在Windows上登录网页。
登录web管理页面
浏览器打开地址:
https://172.25.183.186:8000/view/login/normal
输入Ubuntu里的用户名和口令,比如ubuntu里添加了一个用户test,口令1234,加入sudo guoup用户组,登录ajenti服务器:
登录root账户
用普通用户登录后,点击Plugins和Settings,都显示:Superuser access required
原来是使用有sudo权限的账户,就会需要二次认证,这时候点击自己的用户图标,然后点击: Elevate.
输入该用户的口令,则进入了root账户(该用户需要有sudo权限),这时候就可以对整个服务器进行全面管理了!
设置中文显示
进入Settings,在General里,language里选zh-CN,点击Save.
退出,重新登录,界面就变成中文了。
安装所有插件
sudo pip3 install ajenti-panel ajenti.plugin.ace ajenti.plugin.augeas ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.datetime ajenti.plugin.filemanager ajenti.plugin.filesystem ajenti.plugin.network ajenti.plugin.notepad ajenti.plugin.packages ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.power ajenti.plugin.services ajenti.plugin.settings ajenti.plugin.terminal
再次进入管理web界面,这回可管理的东西就多了:
配置
vi /etc/ajenti/config.yml
name:ajenti.example.io
改写成:
auth:
allow_sudo: true
emails: {}
provider: os
users_file: /etc/ajenti/users.yml
bind:
host: 0.0.0.0
mode: tcp
port: 8000
color: default
max_sessions: 9
name: ajenti.example.io
session_max_time: 3600
ssl:
certificate: /etc/ajenti/ajenti.pem
client_auth:
certificates: []
enable: false
force: false
enable: false
force: false
fqdn_certificate: null
trusted_domains: []
trusted_proxies: []
用户名root
口令:ajenti
root Admin 还是不行
显示认证失败
用自己的账户,结果导航到一个报错页面:
当前无法使用此页面
ERR_EMPTY_RESPONSE
调试
服务启动后登录网页报错:
2024-12-23T13:35:25Z <Greenlet at 0x7f38959a2700: _handle_and_close_when_done(<bound method StreamServer.wrap_socket_and_handle , <bound method StreamServer.do_close of <WSGIServer, (<gevent._socket3.socket [closed] at 0x7f3895f0036)> failed with SSLError
Traceback (most recent call last):
File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run
File "/usr/local/lib/python3.12/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done
return handle(*args_tuple)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/gevent/server.py", line 209, in wrap_socket_and_handle
with _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) as ssl_socket:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/aj/core.py", line 224, in <lambda>
aj.server.wrap_socket = lambda socket, **args:context.wrap_socket(sock=socket, server_side=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/gevent/ssl.py", line 121, in wrap_socket
return self.sslsocket_class(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/gevent/ssl.py", line 319, in __init__
raise x
File "/usr/local/lib/python3.12/dist-packages/gevent/ssl.py", line 315, in __init__
self.do_handshake()
File "/usr/local/lib/python3.12/dist-packages/gevent/ssl.py", line 673, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1000)
2024-12-23T13:35:25Z <Greenlet at 0x7f38959a2700: _handle_and_close_when_done(<bound method StreamServer.wrap_socket_and_handle , <bound method StreamServer.do_close of <WSGIServer, (<gevent._socket3.socket [closed] at 0x7f3895f0036)> failed with SSLError
原来是要用https访问啊!
用https访问,用户验证之后,就是空白页面
原来需要安装:
sudo apt install python3-cryptography
问题依旧。
最终发现,是Ubuntu24.04登录会失败,Ubuntu22.04登录正常。
ajenti登录用户名问题
尝试了很多用户名和口令,比如
用户名root
口令:ajenti
用户名root 口令Admin ,都
显示认证失败
用自己的账户,结果导航到一个报错页面:
当前无法使用此页面
ERR_EMPTY_RESPONSE
后来明白了,网上提供的ajenti登录用户名、口令,估计是因为他们自己的Ubuntu里有root 账户,且账户密码是ajenti或Admin 。其实应该根据自己服务器的情况,输入自己服务器的用户名和口令才行。