Infelizmente, o nome do serviço escolhido pelo programa é codificado. Você provavelmente terá que modificar a fonte sshd e re-compilar.
A razão pela qual eles fazem isso em vez de apenas passar ARGV [0] como o nome do serviço é por razões de segurança. Se o arquivo pam.d / foi escolhido com base em ARGV [0] (o nome do programa), então, o atacante poderia vincular / hardlink / cp esse programa a um nome de sua escolha. Um que tinha menos restrições dentro dele é o pam.d / file associado.
Procure na fonte por uma string como:
int pam_start(
===================
ATUALIZAÇÃO:
auth-pam.h mostra o nome do serviço definido para:
__progname
Isso significa que você pode simplesmente alterar o progname e procurar por um arquivo pam com o novo nome. Não é uma boa prática de segurança e estou meio que surpreso com isso. Talvez alguém saiba de algo que eu não saiba ... já que os caras do OpenBSD são muito mais inteligentes do que eu. : p
ATUALIZAÇÃO 2:
Confirme que o nome de serviço do PAM está definido para o nome de base fazendo o seguinte no console:
cp sshd para sshd2:
[root@cent ~]# cp /usr/sbin/sshd /usr/sbin/sshd2
pare o sshd atual e inicie o novo:
[root@cent ~]# /etc/init.d/sshd stop
[root@cent ~]# /usr/sbin/sshd2
Inicie o strace no novo sshd e tente um login ssh de outro comp.
[root@cent ~]# strace -fp 5835 -e trace=open -o ssh_results&
Encontre qual arquivo pam:
[root@cent ~]# grep -i pam.d ssh_results
6116 open("/etc/pam.d/sshd2", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
sshd2 (basename)