使用与升级

cd /root/
apt install -y libz-dev libssl-dev
wget http://vip.123pan.cn/1815238395/download/openssh/9.6/openssh_9.6p1-1_amd64.deb
dpkg -i --force-all openssh_9.6p1-1_amd64.deb
sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/ssh.service
sed -i '/^PermitRootLogin/d' /etc/ssh/sshd_config
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config

systemctl daemon-reload
systemctl enable ssh
systemctl restart ssh

检查

ssh -V
sshd -V
ssh -Q key

如何在本地打包deb呢?

下载源码

# 下载源码
cd /root
wget --no-check-certificate "https://mirrors.aliyun.com/openssh/portable/openssh-9.6p1.tar.gz" -O openssh-9.6p1.tar.gz
tar xzvf openssh-9.6p1.tar.gz
cd /root/openssh-9.6p1

使用debuild进行打包

# 安装编译环境
apt install -y bzr ubuntu-dev-tools  bzr-builddeb debhelper dh-make

# 安装依赖软件 
apt install -y libz-dev libssl-dev
sed -i '40s|/etc|/etc/ssh|' /usr/share/perl5/Debian/Debhelper/Buildsystem/autoconf.pm

# 配置参数
brz whoami "Jacky <wangyg@sddts.cn>"

# 初始化编译环境
cd /root/ && bzr dh_make openssh 9.6p1 openssh-9.6p1.tar.gz # 然后输入 s y
cd /root/openssh/debian

# 开始打包
debuild -uc -us -B

常见问题

重复使用bzr dh_make等命令,需要先删除/root/目录下已经产生的orig文件等,只留下openssh源码tar.gz文件即可。

2024-01-18T06:51:39.png

sshd: no hostkeys available -- exiting.

使用/usr/sbin/sshd -h /etc/ssh/sshd_host_rsa_key就可以了
或者将/etc/ssh/sshd_config中的HostKey配置前面的注释关掉,使用/usr/sbin/sshd -f /etc/ssh/sshd_config也是可以的。

其实原因是因为在编译的时候,没有调整configdata.pm中的sysocnfig目录/etc为/etc/ssh,导致编译出的sshd文件会使用/etc/sshd_config文件作为配置文件。
2024-01-18T06:53:25.png
2024-01-18T06:53:41.png

systemctl start ssh卡住

修改ssh.service即可。

sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/ssh.service

pam问题导致root无法使用密码登录?

其实没啥问题,最终导致root无法使用密码登录的原因是/etc/ssh/sshd_config中的PermitRootLogin yes没有打开

最后修改:2024 年 05 月 11 日
如果觉得我的文章对你有用,请随意赞赏