Execute su -c 'ssh-keygen -N ""' nagios para gerar o par de chaves ou, como alternativa, gere o par de chaves como outro usuário e copie-o para ~nagios/.ssh . Em seguida, execute su -c 'ssh-copy-id someuser@remote-host' nagios para instalar a chave pública na máquina remota.
Você pode alterar o diretório pessoal do usuário nagios , se quiser, mas não vejo o ponto.
Não é necessário alterar o shell do usuário de nagios para o que você precisa aqui.