Inspirację do założenia tego tematu dał @macek, przy okazji moich i @Cino111PYTAŃ odnośnie możliwości sterowania z bramki komputerem z systemem Linux.
Pojawiły się linki do ciekawych opcji korzystających z SSH oraz usługi w HA jaką jest shell_command.
Na bramce mamy serwer i klienta SSH oraz usługę ais_shell_command.execute_command
Takie polecenie shutdown wymaga praw roota a zdalne wykonywanie połączenia ssh z uprawnieniami roota jest domyślnie w systemie blokowane ze względów bezpieczeństwa. Bez problemu da się jednak tak skonfigurować system aby bo funkcjonalnie i bezpiecznie. @Cezary.K dla potwierdzenia: chcesz z bramki AIS poprzez platform: command_line zrobić shutdown zdalnego linuxa?
Tak - zdarza mi się pozostawić w warsztacie włączony komputer. Chciałbym móc go wyłączyć komendą z czystego lenistwa. Mógłbym podpiąć smart gniazdko i odcinać zasilanie ale w końcu to komputer a nie żelazko.
Przy okazji - jak bezpiecznie wyłączacie bramki (czasami może być taka rzadka potrzeba)? Bo shutdown nie działa; działa tylko halt a raczej to chyba nie jest ok…
Klucz jest OK. Tak jak pisał @macek, komendy do powłoki systemu wymagają dostępu root, a taki jest wyłączony przy połączeniu SSH.
Dodałem wiersz uprawniający użytkownika cezary, do wykonania bez podawania hasła, komendy shutdown
Z konsoli bramki działa…
Teraz pozostaje usługa ais_shell_command.execute_command
Edit:
Wpis w polu usługi działa command: ssh cezary@192.168.2.52 sudo shutdown -r now
ale
komputer się restartuje zamiast pozostać wyłączony…
O co tu chodzi?
@Angust - dzięki. Tak przypuszczałem, że popełniłem błąd z przedszkola Linux.
Dziękuję wszystkim, za inspirację i podpowiedzi. Satysfakcja jest, ponieważ mam gotowy, działający przycisk dla bezpiecznego wyłączenia komputera
Sensor - czego?
Czy masz na myśli wykorzystanie połączenia LAN do badania stanu ON / OFF?
Ten komputer używam jako roboczy, warsztatowy desktop. Więc włączanie przez WOL nie jest mi do niczego potrzebne (na ten moment). Zwłaszcza, ze pod Linux uruchamia się w 3s (no może do 6-9s z przywracaniem kart przeglądarki).
W tej kwestii pozostawię temat otwarty dla innych…
Pewnie chodzi nie o sensor tylko switch. Resztę rozpracowałem odpowiednio
Jakby ktoś szukał to pod turn_on i pod turn_off w pliku konfiguracyjnym switch’a trzeba podać odpowiednie wywołania serwisów (które można przetestować za pomocą narzędzi deweloperskich).
To jedziemy z Wake on LAN pod Linuxem (Debian/Ubuntu/Mint).
Czy ktoś podpowie jak na stałe ustawić Wake-on: g (czyli włączone) w ethtool?
Dodam, że teoretycznie w BIOS Dell’a wszystko włączone. Po restarcie mam ponownie Wake-on: d.
cezary@cezary-OptiPlex-3020 ~> sudo ethtool enp2s0
Settings for enp2s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
cezary@cezary-OptiPlex-3020 ~> sudo ethtool -s enp2s0 wol g
cezary@cezary-OptiPlex-3020 ~> sudo ethtool enp2s0
Settings for enp2s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
cezary@cezary-OptiPlex-3020 ~>
EDIT:
Mam to…
Dla Mint wykonałem dopisując usługę pod systemctl
[Unit]
Description=Wake-on-LAN (%i)
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
Po włączeniu usługi komendą sudo systemctl enable wol@enp2s0 mam włączone domyślnie WoL po restarcie komputera.
Dodałem wpis switch - lecz zdaje się nie działać. Przełącznik pokazuje ON - nawet gdy komputer wyłączony.
W wierszu host wpisałem adres bramki, broadcast_address - podałem adres włączanego komputera.
Coś robię nie tak? @Stravi - jak mam już działające dwie usługi, to może podrzucisz konfigurację dla przełącznika na nich?
Chciałem mieć jeszcze odczyt stanu ON/OFF komputera…
Mogę skorzystać z integracji z moim routerem i z niego wyciągnąć stan danego klienta:
@Stravi - dzięki wielkie, turn_on i turn_off działają super ale status z integracji z router’em Asus nie nadaje się… po prostu przy włączonej opcji WoL zawsze pokazuje home ponieważ połączenie LAN nie jest zrywane a karta czuwa. Pomyślę nad innym sensorem.