So, I actually haven't brought it to xCAT secureshell, but the confluent OS deploy capabilities has some changes in how it does ssh: -Rather than doing it in postscript, it actually does it before the installer even partitions a disk. Meaning ssh as root to the installer environment is enabled and known_hosts is already handled as is also ~/.authorized_keys. Node-to-node ssh is not yet setup and no passwords are allowed at this phase -Private keys are generated on the deploying system and are granted a certificate (takes care of known_hosts)
At postinstall phase, some things are changed about the 'about-to-boot OS:' -Installer ssh keys are copied over into installed system (Ubuntu profile has to fight cloud-init a few times, but it prevails with the useful ssh keys in the end) -Host based authentication is enabled for node to node ssh as root and non-root users, removing need for nodes to have access to private user keys -Root's authorized keys are still done with user keys from all collective members (just in case) Note that in xCAT we tended to just have the one root ssh key, in this case each collective member is a totally private CA and distinct user, each node is enabled to trust any of the collective members. Again, toward the end of never ever transferring a private key. The general key algo of choice in these scripts is ed25519. As an aside, at least for RedHat/CentOS, we also support encrypted boot and grub password so that unattended boot can still happen, but a disk walking away would not be able to be decrypted. Currently debating whether/how to make that disk also resistant to rescue boot as an option. Anyway, the stuff is in: https://github.com/lenovo/confluent/tree/master/confluent_osdeploy/el8/profiles/default/scripts There are also things involving a node taken, that is handled in the initrd (actually c programs that are added to initrds). From: Christopher Walker <c.j.wal...@qmul.ac.uk> Sent: Thursday, June 4, 2020 12:09 PM To: xCAT Users Mailing list <xcat-user@lists.sourceforge.net> Subject: Re: [xcat-user] [External] What remoteshell exactly does? remoteshell doesn't currently support ed25519 keys. It looks a relatively simple change to remoteshell to add it (and I think I'll need to add it to credentials.pm too. Before I write a patch, has anyone done this already. It looks like Jarod's secureshell would be a better solution, but we are currently using a somewhat old verision of xCAT so it hasn't yet arrived yet. Chris ________________________________ From: Jarrod Johnson <jjohns...@lenovo.com<mailto:jjohns...@lenovo.com>> Sent: 08 October 2019 21:46 To: xCAT Users Mailing list <xcat-user@lists.sourceforge.net<mailto:xcat-user@lists.sourceforge.net>> Subject: Re: [xcat-user] [External] What remoteshell exactly does? You may remove it from postscripts tabedit postscripts You may remove remoteshell. Our team was actually going to provide a new 'secureshell' postscript as an alternative to supersede with a more sane security strategy, but if you have another strategy that takes care of the authentication, neither would be required. remoteshell tries to avoid perturbing known_hosts by persisting host key across install. Which is a tricky proposition. It also does some potentially undesirable changes to ssh/sshd configuration. For the lazy, it tends to still create a passwordless experience for root with mitigated known_hosts perturbance for all. secureshell is going to replace the key bootstrap with a more hardened mechanism, replace host key persistence with a managed SSH CA, and enable host-based authentication within a cluster if requested to enable non-root ssh enablement without per-user action. It would also allow enabling ssh between nodes as root without user key sharing (using .shosts with host authentication). This is intended as a more modern and manageable 'works regardless of other configuration' ssh bootstrap scheme. Neither should be required if you otherwise enable ssh to your likeing. ________________________________ From: Vinícius Ferrão via xCAT-user <xcat-user@lists.sourceforge.net<mailto:xcat-user@lists.sourceforge.net>> Sent: Tuesday, October 8, 2019 4:19 PM To: xCAT Users Mailing list Cc: Vinícius Ferrão Subject: [External] [xcat-user] What remoteshell exactly does? Hello, I'm trying to add some features to an xCAT HPC Cluster but I'm with some issues with SSH Host Keys. My clients are running ipa-client-install on bootime since I've already deployed an FreeIPA Server on the headnode and I want the nodes to authenticate on it. After some time trying to debug issues I've came across to this file. This file appears to copy some fixed host keys to compute images. But I'm not sure about it. The point is: what this script really do? Is it really necessary since it's added by default by xCAT. Can it be replaced? Thanks, _______________________________________________ xCAT-user mailing list xCAT-user@lists.sourceforge.net<mailto:xCAT-user@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/xcat-user<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fxcat-user&data=02%7C01%7Cc.j.walker%40qmul.ac.uk%7C971ac0119f244150ff9b08d74c30b8e8%7C569df091b01340e386eebd9cb9e25814%7C0%7C0%7C637061644456923498&sdata=AOYPuVIF%2B4cDj4qZ3Obd3Jtoj8tD2taZZXJaiaFwtj8%3D&reserved=0> xcat-user List Signup and Options<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fxcat-user&data=02%7C01%7Cc.j.walker%40qmul.ac.uk%7C971ac0119f244150ff9b08d74c30b8e8%7C569df091b01340e386eebd9cb9e25814%7C0%7C0%7C637061644456933491&sdata=GPOC44r%2BKt44jsXzqX64DCMnkt1Ij9RUyoVyAq9tqLE%3D&reserved=0> lists.sourceforge.net An extreme cluster/cloud administration toolkit
_______________________________________________ xCAT-user mailing list xCAT-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcat-user