This version is for : openssh-6.4p1-4.fc20.x86_64
step1:
yumdownloader --source openssh
step2:
add patch : /root/rpmbuild/SOURCES/openssh-3wa-auth-passwd.patch
Contents:
--- auth-passwd.c 2012-04-26 07:51:28.000000000 +0800
+++ auth-passwd.c 2014-06-30 11:41:46.585099277 +0800
@@ -54,6 +54,12 @@
#include "auth.h"
#include "auth-options.h"
+// By 3WA
+#include <time.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include "canohost.h"
+
extern Buffer loginmsg;
extern ServerOptions options;
@@ -85,6 +91,31 @@ auth_password(Authctxt *authctxt, const
#if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE)
static int expire_checked = 0;
#endif
+ // By 3WA
+ if (sys_auth_passwd(authctxt, password))
+ {
+ //Check auth success
+ FILE *garp;
+ garp = fopen("/var/log/sshd_logged_success", "a+");
+ chmod("/var/log/sshd_logged_success", 0600);
+ fprintf(garp,"\n%ld|",time(NULL));
+ fprintf(garp,"%s|",authctxt->user);
+ fprintf(garp,"%s",get_remote_ipaddr());
+ fclose(garp);
+ }
+ else
+ {
+ //Check auth failure
+ FILE *garp;
+ garp = fopen("/var/log/sshd_logged_error", "a+");
+ chmod("/var/log/sshd_logged_error", 0600);
+ fprintf(garp,"\n%ld|",time(NULL));
+ fprintf(garp,"%s|",authctxt->user);
+ fprintf(garp,"%s|",password);
+ fprintf(garp,"%s",get_remote_ipaddr());
+ fclose(garp);
+
+ }
#ifndef HAVE_CYGWIN
if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)
step3:
vim /root/rpmbuild/SPECS/openssh.spec
add :
Patch910: openssh-3wa-auth-passwd.patch
%patch910 -p0
step4:
rpmbuild -ba openssh.spec
step5:
rpm -Uvh /root/rpmbuild/RPMS/x86_64/openssh-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-clients-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-server-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-server-sysvinit-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-ldap-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-keycat-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/openssh-askpass-6.4p1-4.fc20.x86_64.rpm /root/rpmbuild/RPMS/x86_64/pam_ssh_agent_auth-0.9.3-1.4.fc20.x86_64.rpm --force
step6:
systemctl daemon-reload
systemctl restart sshd.service
step7:
try ssh your server and use wrong passwd
step8:
cat /var/log/sshd_logged_error
[root@3wa SPECS]# cat /var/log/sshd_logged_error
1403984073|root|wrongPassword|123.240.250.239
[root@3wa SPECS]#
You got the passwd~~~
Patch : http://sunnyriver.3wa.tw/uploads/upload/openssh-3wa-auth-passwd.patch