diff --git a/configs/kvmd/ipmipasswd b/configs/kvmd/ipmipasswd index 14b45a94..d95fdfe1 100644 --- a/configs/kvmd/ipmipasswd +++ b/configs/kvmd/ipmipasswd @@ -3,12 +3,12 @@ # is the name and password with which the user can access to KVMD API. The arrow is used # as a separator and shows the direction of user registration in the system. # -# WARNING! IPMI protocol is completly unsafe by design. In short, the authentication +# WARNING! IPMI protocol is completely unsafe by design. In short, the authentication # process for IPMI 2.0 mandates that the server send a salted SHA1 or MD5 hash of the # requested user's password to the client, prior to the client authenticating. Never use # the same passwords for KVMD and IPMI users. This default configuration is shown here # for example only. # -# And even better not to use IPMI. Instead, you can directly use KVMD API using curl. +# And even better not to use IPMI. Instead, you can directly use KVMD API via curl. admin:admin -> admin:admin diff --git a/extras/.gitignore b/extras/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/extras/ipmi/manifest.yaml b/extras/ipmi/manifest.yaml new file mode 100644 index 00000000..62748c9a --- /dev/null +++ b/extras/ipmi/manifest.yaml @@ -0,0 +1,7 @@ +name: IPMI +description: Show IPMI information +icon: share/svg/ipmi.svg +path: ipmi +keyboard_cap: false +daemon: kvmd-ipmi +place: 20 diff --git a/web/index.html b/web/index.html index 755880c1..f6a75f3e 100644 --- a/web/index.html +++ b/web/index.html @@ -38,6 +38,7 @@ + @@ -49,8 +50,8 @@
-|
diff --git a/web/ipmi/index.html b/web/ipmi/index.html
new file mode 100644
index 00000000..3471706e
--- /dev/null
+++ b/web/ipmi/index.html
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/share/css/index/index.css b/web/share/css/index/index.css
index 9dcdb09d..0d9ee3e9 100644
--- a/web/share/css/index/index.css
+++ b/web/share/css/index/index.css
@@ -20,46 +20,24 @@
*****************************************************************************/
-div#start-box {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
- min-height: 100vh;
-}
-
-div#start {
- text-align: left;
- outline: none;
- word-wrap: break-word;
- max-width: 800px;
- border: var(--border-window-thin);
- border-radius: 8px;
- box-sizing: border-box;
- box-shadow: var(--shadow-big);
- background-color: var(--cs-window-default-bg);
- padding: 15px;
-}
-
-div#start div#apps-box {
+div#apps-box {
display: table;
margin: 0 auto;
}
-div#start div#apps-box ul#apps {
+div#apps-box ul#apps {
list-style-type: none;
padding: 0;
margin: 0;
}
-div#start div#apps-box ul#apps li {
+div#apps-box ul#apps li {
float: left;
margin-left: 5px;
margin-right: 5px;
}
-div#start div#apps-box ul#apps li div.app {
+div#apps-box ul#apps li div.app {
height: 100px;
width: 100px;
text-align: center;
@@ -69,19 +47,19 @@ div#start div#apps-box ul#apps li div.app {
border-radius: 8px;
}
-div#start div#apps-box ul#apps li div:hover.app {
+div#apps-box ul#apps li div:hover.app {
border: var(--border-intensive-thin);
box-shadow: none;
}
-div#start div#apps-box ul#apps li div.app img {
+div#apps-box ul#apps li div.app img {
display: block;
margin: auto;
height: 50px;
padding-bottom: 5px;
}
-div#start div#apps-box ul#apps li div.app a {
+div#apps-box ul#apps li div.app a {
display: flex;
flex-direction: column;
justify-content: center;
@@ -90,16 +68,16 @@ div#start div#apps-box ul#apps li div.app a {
font-weight: bold;
}
-div#start td.logo {
+td.logo {
padding-right: 25px;
}
-div#start td.title {
+td.title {
font-size: 1.2em;
}
-div#start td.copyright {
+td.copyright {
font-size: 0.8em;
}
-div#start tr.server {
+tr.server {
font-size: 1.4em;
font-weight: bold;
font-family: monospace;
diff --git a/web/share/css/start.css b/web/share/css/start.css
new file mode 100644
index 00000000..ca481fa3
--- /dev/null
+++ b/web/share/css/start.css
@@ -0,0 +1,43 @@
+/*****************************************************************************
+# #
+# KVMD - The main Pi-KVM daemon. #
+# #
+# Copyright (C) 2018 Maxim Devaev
+
+ ← [ Pi-KVM Index ]
+
+
+ + + This Pi-KVM device has running kvmd-ipmi daemon and provides IPMI 2.0 port (default 623) + for some basic BMC operations like on/off/reset for the server. + ++ WARNING! We strongly don't recommend you to use IPMI in untrusted networks because + this protocol is completely unsafe by design. In short, the authentication process for IPMI mandates + that the server send a salted SHA1 or MD5 hash of the requested user's password to the client, + prior to the client authenticating. + ++ NEVER use the same passwords for KVMD and IPMI users. And even better not to use IPMI. + Instead, you can directly use KVMD API via curl. We gave here some examples for this: + + ++ $ ipmitool -I lanplus -U admin -P admin -H ${host} power on + $ curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\ + ${site}/api/atx/power?action=on + + # Soft power off the server if it's on: + $ ipmitool -I lanplus -U admin -P admin -H ${host} power soft + $ curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\ + ${site}/api/atx/power?action=off + + # Hard power off the server if it's on: + $ ipmitool -I lanplus -U admin -P admin -H ${host} power off + $ curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\ + ${site}/api/atx/power?action=off_hard + + # Hard reset the server if it's on: + $ ipmitool -I lanplus -U admin -P admin -H ${host} power reset + $ curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\ + ${site}/api/atx/power?action=reset_hard + + # Check the power status: + $ ipmitool -I lanplus -U admin -P admin -H ${host} power status + $ curl -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\ + ${site}/api/atx + `; +} diff --git a/web/share/svg/ipmi.svg b/web/share/svg/ipmi.svg new file mode 100644 index 00000000..003b475a --- /dev/null +++ b/web/share/svg/ipmi.svg @@ -0,0 +1,227 @@ + + + + \ No newline at end of file |