Volam nadsene: "Slava"! Systemd uz umi ssh, ted uz fakt schazi jen par detailu, treba Tetris, textovy a graficky editor, IM, vlastni VPN, vlastni SQL databaze, vlastni sitovy stack, ktery pouziva vlastni protokol odlisny od ipvX, a hlavne vlastni jadro, ktere ucini soucasne jadro zastaralym a nepotrebnym.
S ssh používám pro různé servery různé parametry (jiné porty, klíče, občas forwardování portů atd). Takže další vrstva komplikovanosti - musím si to nejdříve nakonfigurovat pro jednotlivé servery v konfigech systemd (předpokládám, že to jde). Kde uvidím logy ssh, kde logy spouštěné aplikace na druhé straně? To jsou všechno zásadní věci, jejich skrývání pod dalšími vrstvami znepříjemňuje život.
Proč byste si to konfiguroval extra pro systemd
? Vy nemáte nakonfigurovaného ssh klienta tak, abyste se na ty vzdálené servery připojil?
systemctl start ntpd --host root@example.com
můžete chápat jako alias pro ssh root@example.com systemctl start ntpd
. Nic jiného komplikovanějšího v tom nehledejte.
Zatímco v případě použití systemctl
se SSH případně zeptá na heslo. Ano, ve vašem anti-světě to určitě nefunguje, protože tady u nás v reálném světě to funguje.
Mimochodem, gratuluji ke zlepšení SLA. Dříve jste zaručoval, že 99,9 % vašich komentářů budou nesmysly popisující pravý opak, než je realita. Ale těch 0,1 % vám občas přeci jen ujelo a občas bylo možné narazit na váš komentář, který se shodoval s realitou – z čehož pak byli všichni okolo zmatení a znovu si všechny informace ověřovali. Už hodně dlouho jsem na takový váš komentář nenarazil a myslím, že se vám k vašemu SLA podařilo přidat alespoň jednu další devítku.
je to velmi jednoduché, napřed vygenerujeme jednoduchým příkazem speciální profil:
systemctl --create_new_custom_easy_configuration_profile --new_cool_ssh_profile_name "sshport2222" --new_cooool_ssh_profile_surname "nevimproctochce" --stupid_useless_parameter_just_for_LP_fun "I <3 LP" --easy_online_generated_systemd_key_for_nonstandard_modification "a457445c77d8e894a75754b547c5" --ssh_profile_nonstandard_append_parameters_string "-p 2222"
a potom už jen velmi jednoduše použiješ u systemctl parametr
--I_am_fucking_idiot_and_need_this_nonstandard_profile_but_I_promisse_I_will_not_blame_LP_for_this_shit "sshport2222"
Předpokládám, že jste myslel, že máte na nestandardním portu sshd
. V takovém případě ten port asi máte v ssh_config
, ne? No a pokud nemáte, pak to asi rád píšete ručně, ta zkratka se systemctl --host
vám nebude fungovat a musíte i tam psát celý příkaz s ssh
ručně. V případě virtuálních strojů ta ruční metoda bude samozřejmě ještě komplikovanější. Ale nic vám nebrání vytvořit patch a pro systemctl
implementovat také tu možnost předat kompletní ssh
příkaz.
Nejen na heslo, ale typicky si stěžuje na změněný hash při přesunu na jiný stroj. Proto se u služeb využívajících ssh (např. zálohování) nejdříve testuje ručně, že se ssh s klíčem bezproblémově připojí, až pak se to spouští přes aplikace. Každá vrstva navíc je prostě komplikace, a pokud se jí lze vyhnout, je to technicky správné řešení.
Vzhledem k tomu, že systemd pouze spustí ssh, tak si to stěžuje na to samé. Stejně tak můžete použít .ssh/config
pro nastavení čehokoliv, co potřebujete, včetně server aliasů.
U té druhé věty nechápu, co to je za výhodu. Každá normální aplikace si umí poradit s tím, když se nepodaří spustit přenosový kanál, ať již protože selže DNS, nefunguje síť nebo nesedí hashe.