openssh

  1. # curl -s http://wuyou.run/scripts/sec/openssh-update.sh|bash
  2. yum install -y openssl-devel gcc # 依赖
  3. wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
  4. tar zxvf openssh-8.8p1.tar.gz && cd openssh-8.8p1
  5. ./configure --prefix=/usr/local/openssh
  6. make -j2 && make install
  7. # 老文件移动
  8. mv /usr/libexec/openssh/sftp-server /usr/local/src
  9. mv /usr/bin/ssh-* /usr/local/src
  10. mv /usr/bin/{scp,sftp,ssh} /usr/local/src
  11. mv /usr/sbin/sshd /usr/local/src
  12. systemctl stop sshd
  13. # 复制命令文件
  14. \cp /usr/local/openssh/sbin/sshd /usr/sbin/
  15. \cp /usr/local/openssh/bin/{ssh,ssh-keygen} /usr/bin/
  16. cp contrib/ssh-copy-id /usr/bin/ssh-copy-id
  17. chmod 775 /usr/bin/ssh*
  18. cp contrib/redhat/sshd.init /etc/init.d/sshd # 启动文件
  19. cat >/usr/lib/systemd/system/sshd.service <<EOF
  20. [Unit]
  21. Description=OpenSSH server daemon
  22. Documentation=man:sshd(8) man:sshd_config(5)
  23. After=network.target
  24. [Service]
  25. ExecStart=/usr/sbin/sshd
  26. [Install]
  27. WantedBy=multi-user.target
  28. EOF
  29. systemctl daemon-reload
  30. sed -i '32aPermitRootLogin yes' /usr/local/openssh/etc/sshd_config
  31. mv /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
  32. ln -s /usr/local/openssh/etc/sshd_config /etc/ssh/
  33. systemctl restart sshd