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>
27 lines
1010 B
Tcsh
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 }}
|