Files
warewulf/overlays/host/rootfs/etc/profile.d/ssh_setup.csh.ww
Jonathon Anderson 7046c6dc8c Use the first configured ssh key type for authn
Previously, the authentication key was always generated using rsa. Now
it uses the first configured ssh key type.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-05-01 14:27:39 -06:00

27 lines
1010 B
Tcsh

#!/bin/csh
## Automatically configure SSH keys for a user on C SHell login
## Copy this file to /etc/profile.d along with ssh_setup.sh
{{- if gt (len .Ssh.KeyTypes) 0 }}
{{ $keyType := index .Ssh.KeyTypes 0 }}
set _UID=`id -u`
if ( ( $_UID > 500 || $_UID == 0 ) && ( ! -f "$HOME/.ssh/config" && ! -f "$HOME/.ssh/cluster" ) ) then
echo "Configuring SSH for cluster access"
install -d -m 700 $HOME/.ssh
ssh-keygen -t {{ $keyType }} -f $HOME/.ssh/cluster -N '' -C "Warewulf Cluster key" >& /dev/null
cat $HOME/.ssh/cluster.pub >>! $HOME/.ssh/authorized_keys
chmod 0600 $HOME/.ssh/authorized_keys
touch $HOME/.ssh/config
echo -n "# Added by Warewulf " >>! $HOME/.ssh/config
(date +%Y-%m-%d >> $HOME/.ssh/config) >& /dev/null
echo "Host *" >> $HOME/.ssh/config
echo " IdentityFile ~/.ssh/cluster" >> $HOME/.ssh/config
echo " StrictHostKeyChecking=no" >> $HOME/.ssh/config
chmod 0600 $HOME/.ssh/config
endif
{{- else }}
# No ssh key types configured
{{- end }}