637 lines
14 KiB
Markdown
637 lines
14 KiB
Markdown
|
|||
|
|
|
||
|
|
login jump server: 10.160.20.112
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
```bash
|
||
|
|
ssh -V
|
||
|
|
OpenSSH_8.2p1, OpenSSL 1.1.1f 31 Mar 2020
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
uname -a
|
||
|
|
Linux v10-200g-clone-10 4.19.90-20.1stable.ky10.aarch64 #1 SMP Sun Aug 23 11:31:17 CST 2020 aarch64 aarch64 aarch64 GNU/Linux
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```bash
|
||
|
|
uname -m
|
||
|
|
aarch64
|
||
|
|
getenforce
|
||
|
|
Disabled
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
备份配置
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cp -a /etc/ssh /etc/ssh.bak-$(date +%F)
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
依赖安装
|
||
|
|
|
||
|
|
```bash
|
||
|
|
dnf groupinstall "Development Tools" -y
|
||
|
|
```
|
||
|
|
```bash
|
||
|
|
dnf install -y openssl-devel zlib-devel pam-devel libedit-devel krb5-devel audit-libs-devel libselinux-devel libcap-ng-devel systemd-devel
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
编译
|
||
|
|
|
||
|
|
```bash
|
||
|
|
wget https://codeload.github.com/openssh/openssh-portable/zip/refs/heads/V_10_2
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
unzip openssh-portable-V_10_2.zip
|
||
|
|
cd openssh-portable-V_10_2
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./configure --prefix=/usr --sysconfdir=/etc/ssh --sbindir=/usr/sbin --with-pam --with-privsep-path=/var/lib/sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
make -j"$(nproc)"
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
make install
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```bash
|
||
|
|
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
|
||
|
|
```
|
||
|
|
|
||
|
|
- 找到对应行,前面加 #,或直接删除。例如:
|
||
|
|
```bash
|
||
|
|
vi /etc/ssh/sshd_config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
- # GSSAPIAuthentication no
|
||
|
|
|
||
|
|
- # GSSAPICleanupCredentials yes
|
||
|
|
|
||
|
|
- # RSAAuthentication no
|
||
|
|
|
||
|
|
- # RhostsRSAAuthentication no
|
||
|
|
|
||
|
|
```bash
|
||
|
|
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```bash
|
||
|
|
systemctl daemon-reload
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
systemctl enable --now sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
systemctl status sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
journalctl -u sshd -b
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
vi /etc/crypto-policies/back-ends/opensshserver.config
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
dnf install -y rpm-build rpmlint
|
||
|
|
```
|
||
|
|
|
||
|
|
制作安装包
|
||
|
|
|
||
|
|
```
|
||
|
|
dnf install -y ruby ruby-devel gcc make rpm-build
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
mkdir -p ~/buildroot
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
install -D /usr/sbin/sshd ~/buildroot/usr/sbin/sshd
|
||
|
|
install -D /usr/bin/ssh ~/buildroot/usr/bin/ssh
|
||
|
|
install -D /usr/bin/scp ~/buildroot/usr/bin/scp
|
||
|
|
install -D /usr/bin/sftp ~/buildroot/usr/bin/sftp
|
||
|
|
install -D /usr/bin/ssh-keygen ~/buildroot/usr/bin/ssh-keygen
|
||
|
|
install -D /usr/bin/ssh-agent ~/buildroot/usr/bin/ssh-agent
|
||
|
|
install -D /usr/bin/ssh-add ~/buildroot/usr/bin/ssh-add
|
||
|
|
install -D /usr/bin/ssh-keyscan ~/buildroot/usr/bin/ssh-keyscan
|
||
|
|
rsync -aR /usr/libexec/ssh/ ~/buildroot/ 2>/dev/null || true rsync -aR /usr/lib/ssh/ ~/buildroot/ 2>/dev/null || true
|
||
|
|
install -D /etc/ssh/sshd_config ~/buildroot/etc/ssh/sshd_config
|
||
|
|
install -D /etc/ssh/ssh_config ~/buildroot/etc/ssh/ssh_config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
test -f /usr/lib/systemd/system/sshd.service && install -D /usr/lib/systemd/system/sshd.service ~/buildroot/usr/lib/systemd/system/sshd.service || true
|
||
|
|
```
|
||
|
|
|
||
|
|
~/rpmbuild/SPECS/openssh-custom.spec
|
||
|
|
|
||
|
|
```
|
||
|
|
Name: openssh
|
||
|
|
Version: 10.2
|
||
|
|
Release: 1%{?dist}
|
||
|
|
Summary: An open source implementation of SSH protocol version 2
|
||
|
|
|
||
|
|
License: BSD
|
||
|
|
URL: https://www.openssh.com/
|
||
|
|
Source0: https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
|
||
|
|
|
||
|
|
BuildRequires: gcc
|
||
|
|
BuildRequires: make
|
||
|
|
BuildRequires: openssl-devel >= 1.1.1
|
||
|
|
BuildRequires: zlib-devel
|
||
|
|
BuildRequires: pam-devel
|
||
|
|
BuildRequires: systemd
|
||
|
|
BuildRequires: libselinux-devel
|
||
|
|
|
||
|
|
%description
|
||
|
|
SSH (Secure SHell) is a program for logging into and executing
|
||
|
|
commands on a remote machine. SSH is intended to replace rlogin and
|
||
|
|
rsh, and to provide secure encrypted communications between two
|
||
|
|
untrusted hosts over an insecure network. This package includes the
|
||
|
|
core files necessary for both the OpenSSH client and server.
|
||
|
|
|
||
|
|
%package clients
|
||
|
|
Summary: SSH client applications
|
||
|
|
Requires: %{name} = %{version}-%{release}
|
||
|
|
|
||
|
|
%description clients
|
||
|
|
OpenSSH clients, including ssh, scp, and sftp.
|
||
|
|
|
||
|
|
%package server
|
||
|
|
Summary: SSH server daemon
|
||
|
|
Requires: %{name} = %{version}-%{release}
|
||
|
|
Requires(post): systemd
|
||
|
|
Requires(preun): systemd
|
||
|
|
Requires(postun): systemd
|
||
|
|
|
||
|
|
%description server
|
||
|
|
OpenSSH server daemon (sshd) with support for the new sshd-session
|
||
|
|
and sshd-auth architecture introduced in OpenSSH 9.8+.
|
||
|
|
|
||
|
|
%prep
|
||
|
|
%setup -q -n openssh-portable-V_10_2
|
||
|
|
|
||
|
|
%build
|
||
|
|
%configure \
|
||
|
|
--sysconfdir=%{_sysconfdir}/ssh \
|
||
|
|
--libexecdir=%{_libexecdir}/openssh \
|
||
|
|
--datadir=%{_datadir}/openssh \
|
||
|
|
--with-pam \
|
||
|
|
--with-selinux \
|
||
|
|
--with-privsep-path=/var/empty/sshd \
|
||
|
|
--with-pid-dir=/run \
|
||
|
|
--with-ssl-engine \
|
||
|
|
--disable-strip
|
||
|
|
|
||
|
|
make %{?_smp_mflags}
|
||
|
|
|
||
|
|
%install
|
||
|
|
rm -rf %{buildroot}
|
||
|
|
make install DESTDIR=%{buildroot}
|
||
|
|
|
||
|
|
# Install systemd unit files
|
||
|
|
install -d %{buildroot}%{_unitdir}
|
||
|
|
|
||
|
|
# Create sshd.service file
|
||
|
|
cat > %{buildroot}%{_unitdir}/sshd.service << 'SVCEOF'
|
||
|
|
[Unit]
|
||
|
|
Description=OpenSSH server daemon
|
||
|
|
Documentation=man:sshd(8) man:sshd_config(5)
|
||
|
|
After=network.target sshd-keygen.target
|
||
|
|
Wants=sshd-keygen.target
|
||
|
|
|
||
|
|
[Service]
|
||
|
|
Type=notify
|
||
|
|
EnvironmentFile=-/etc/sysconfig/sshd
|
||
|
|
ExecStart=/usr/sbin/sshd -D $OPTIONS
|
||
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
||
|
|
KillMode=process
|
||
|
|
Restart=on-failure
|
||
|
|
RestartSec=42s
|
||
|
|
|
||
|
|
[Install]
|
||
|
|
WantedBy=multi-user.target
|
||
|
|
SVCEOF
|
||
|
|
|
||
|
|
# Create sshd-keygen service
|
||
|
|
cat > %{buildroot}%{_unitdir}/sshd-keygen@.service << 'KEYGENEOF'
|
||
|
|
[Unit]
|
||
|
|
Description=OpenSSH Server Key Generation
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_rsa_key
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_ecdsa_key
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_ed25519_key
|
||
|
|
|
||
|
|
[Service]
|
||
|
|
Type=oneshot
|
||
|
|
ExecStart=/usr/bin/ssh-keygen -A
|
||
|
|
RemainAfterExit=yes
|
||
|
|
KEYGENEOF
|
||
|
|
|
||
|
|
# Create sshd-keygen target
|
||
|
|
cat > %{buildroot}%{_unitdir}/sshd-keygen.target << 'KEYTAREOF'
|
||
|
|
[Unit]
|
||
|
|
Description=OpenSSH Server Key Generation
|
||
|
|
Documentation=man:sshd(8) man:ssh-keygen(1)
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_rsa_key
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_ecdsa_key
|
||
|
|
ConditionFileNotEmpty=|!/etc/ssh/ssh_host_ed25519_key
|
||
|
|
KEYTAREOF
|
||
|
|
|
||
|
|
# Create empty sshd privsep directory
|
||
|
|
install -d -m 0711 %{buildroot}/var/empty/sshd
|
||
|
|
|
||
|
|
# Install PAM configuration
|
||
|
|
install -d %{buildroot}%{_sysconfdir}/pam.d
|
||
|
|
cat > %{buildroot}%{_sysconfdir}/pam.d/sshd << 'PAMEOF'
|
||
|
|
#%PAM-1.0
|
||
|
|
auth substack password-auth
|
||
|
|
auth include postlogin
|
||
|
|
account required pam_sepermit.so
|
||
|
|
account required pam_nologin.so
|
||
|
|
account include password-auth
|
||
|
|
password include password-auth
|
||
|
|
session required pam_selinux.so close
|
||
|
|
session required pam_loginuid.so
|
||
|
|
session required pam_selinux.so open env_params
|
||
|
|
session required pam_namespace.so
|
||
|
|
session optional pam_keyinit.so force revoke
|
||
|
|
session optional pam_motd.so
|
||
|
|
session include password-auth
|
||
|
|
session include postlogin
|
||
|
|
PAMEOF
|
||
|
|
|
||
|
|
# Modify sshd_config to enable root login
|
||
|
|
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' \
|
||
|
|
%{buildroot}%{_sysconfdir}/ssh/sshd_config
|
||
|
|
|
||
|
|
# Ensure PermitRootLogin is set
|
||
|
|
if ! grep -q "^PermitRootLogin" %{buildroot}%{_sysconfdir}/ssh/sshd_config; then
|
||
|
|
echo "PermitRootLogin yes" >> %{buildroot}%{_sysconfdir}/ssh/sshd_config
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Create sysconfig directory
|
||
|
|
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
||
|
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/sshd << 'SYSCONFIGEOF'
|
||
|
|
# Configuration file for the sshd service.
|
||
|
|
|
||
|
|
# Options for sshd
|
||
|
|
OPTIONS=""
|
||
|
|
SYSCONFIGEOF
|
||
|
|
|
||
|
|
%files
|
||
|
|
%license LICENCE
|
||
|
|
%doc ChangeLog CREDITS OVERVIEW PROTOCOL* README*
|
||
|
|
%dir %{_sysconfdir}/ssh
|
||
|
|
%config(noreplace) %{_sysconfdir}/ssh/moduli
|
||
|
|
%config(noreplace) %{_sysconfdir}/ssh/ssh_config
|
||
|
|
%{_mandir}/man5/moduli.5*
|
||
|
|
%{_mandir}/man5/ssh_config.5*
|
||
|
|
%{_mandir}/man5/sshd_config.5*
|
||
|
|
|
||
|
|
%files clients
|
||
|
|
%{_bindir}/ssh
|
||
|
|
%{_bindir}/scp
|
||
|
|
%{_bindir}/sftp
|
||
|
|
%{_bindir}/ssh-add
|
||
|
|
%{_bindir}/ssh-agent
|
||
|
|
%{_bindir}/ssh-keygen
|
||
|
|
%{_bindir}/ssh-keyscan
|
||
|
|
%dir %{_libexecdir}/openssh
|
||
|
|
%{_libexecdir}/openssh/ssh-keysign
|
||
|
|
%{_libexecdir}/openssh/ssh-pkcs11-helper
|
||
|
|
%{_libexecdir}/openssh/ssh-sk-helper
|
||
|
|
%{_mandir}/man1/scp.1*
|
||
|
|
%{_mandir}/man1/sftp.1*
|
||
|
|
%{_mandir}/man1/ssh.1*
|
||
|
|
%{_mandir}/man1/ssh-add.1*
|
||
|
|
%{_mandir}/man1/ssh-agent.1*
|
||
|
|
%{_mandir}/man1/ssh-keygen.1*
|
||
|
|
%{_mandir}/man1/ssh-keyscan.1*
|
||
|
|
%{_mandir}/man8/ssh-keysign.8*
|
||
|
|
%{_mandir}/man8/ssh-pkcs11-helper.8*
|
||
|
|
%{_mandir}/man8/ssh-sk-helper.8*
|
||
|
|
|
||
|
|
%files server
|
||
|
|
%{_sbindir}/sshd
|
||
|
|
%dir %{_libexecdir}/openssh
|
||
|
|
%{_libexecdir}/openssh/sftp-server
|
||
|
|
%{_libexecdir}/openssh/sshd-session
|
||
|
|
%{_libexecdir}/openssh/sshd-auth
|
||
|
|
%{_unitdir}/sshd.service
|
||
|
|
%{_unitdir}/sshd-keygen@.service
|
||
|
|
%{_unitdir}/sshd-keygen.target
|
||
|
|
%dir %attr(0711,root,root) /var/empty/sshd
|
||
|
|
%config(noreplace) %{_sysconfdir}/ssh/sshd_config
|
||
|
|
%config(noreplace) %{_sysconfdir}/pam.d/sshd
|
||
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/sshd
|
||
|
|
%{_mandir}/man8/sshd.8*
|
||
|
|
%{_mandir}/man8/sftp-server.8*
|
||
|
|
|
||
|
|
%pre server
|
||
|
|
# Create sshd user if it doesn't exist
|
||
|
|
getent group sshd >/dev/null || groupadd -r sshd
|
||
|
|
getent passwd sshd >/dev/null || \
|
||
|
|
useradd -r -g sshd -d /var/empty/sshd -s /sbin/nologin \
|
||
|
|
-c "Privilege-separated SSH" sshd
|
||
|
|
exit 0
|
||
|
|
|
||
|
|
%post server
|
||
|
|
%systemd_post sshd.service
|
||
|
|
# Generate host keys if they don't exist
|
||
|
|
/usr/bin/ssh-keygen -A >/dev/null 2>&1 || :
|
||
|
|
|
||
|
|
%preun server
|
||
|
|
%systemd_preun sshd.service
|
||
|
|
|
||
|
|
%postun server
|
||
|
|
%systemd_postun_with_restart sshd.service
|
||
|
|
|
||
|
|
%changelog
|
||
|
|
* Wed Oct 22 2025 System Administrator <admin@example.com> - 10.2-1
|
||
|
|
- Update to OpenSSH 10.2
|
||
|
|
- Enable PermitRootLogin by default
|
||
|
|
- Add support for sshd-session and sshd-auth
|
||
|
|
- Include systemd service files
|
||
|
|
- Add PAM configuration
|
||
|
|
- Create privilege separation user and directory
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
find ~/rpmbuild/BUILD/openssh-10.2-1.ky10.*/usr/libexec/openssh/ -type f
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
处理完:
|
||
|
|
117
|
||
|
|
177
|
||
|
|
|
||
|
|
不能ssh
|
||
|
|
102
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
处理102:
|
||
|
|
|
||
|
|
1. 下载新编译的openssh
|
||
|
|
```
|
||
|
|
-rw-r--r-- 1 root root 209096 Oct 22 14:45 openssh-10.2-1.ky10.ky10.aarch64.rpm
|
||
|
|
-rw-r--r-- 1 root root 872348 Oct 22 14:45 openssh-clients-10.2-1.ky10.ky10.aarch64.rpm
|
||
|
|
-rw-r--r-- 1 root root 576228 Oct 22 14:45 openssh-server-10.2-1.ky10.ky10.aarch64.rpm
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
2. 修改 /etc/ssh/sshd_config
|
||
|
|
注释选项
|
||
|
|
|
||
|
|
```
|
||
|
|
GSSAPIAuthentication
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
GSSAPICleanupCredentials
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
RSAAuthentication
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
RhostsRSAAuthentication
|
||
|
|
```
|
||
|
|
|
||
|
|
注释
|
||
|
|
|
||
|
|
```
|
||
|
|
/etc/crypto-policies/back-ends/opensshserver.config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
3. 修改
|
||
|
|
```
|
||
|
|
chmod 600 /etc/ssh/ssh_*
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
3. 安装
|
||
|
|
```
|
||
|
|
dnf install ./openssh-*
|
||
|
|
```
|
||
|
|
|
||
|
|
4. 测试
|
||
|
|
|
||
|
|
```
|
||
|
|
/usr/sbin/sshd -t
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
/usr/sbin/sshd -D -d
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
systemctl daemon-reload
|
||
|
|
systemctl enable --now sshd
|
||
|
|
systemctl start sshd
|
||
|
|
systemctl status sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
112:
|
||
|
|
安装 openssh 10 with openssl 3
|
||
|
|
|
||
|
|
生成key
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t rsa -b 4096 -f /usr/local/openssh-10/etc/ssh_host_rsa_key -N "" -q
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t ecdsa -b 521 -f /usr/local/openssh-10/etc/ssh_host_ecdsa_key -N "" -q
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t ed25519 -f /usr/local/openssh-10/etc/ssh_host_ed25519_key -N "" -q
|
||
|
|
```
|
||
|
|
|
||
|
|
测试语法
|
||
|
|
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/sbin/sshd -t -f /usr/local/openssh-10/etc/sshd_config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
mkdir -p /var/empty
|
||
|
|
chown root:root /var/empty
|
||
|
|
chmod 755 /var/empty
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
测试启动
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/sbin/sshd -p 2222 -f /usr/local/openssh-10/etc/sshd_config -D
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
备份
|
||
|
|
```
|
||
|
|
mkdir -p /usr/local/openssh-backup
|
||
|
|
cp /usr/sbin/sshd /usr/local/openssh-backup/
|
||
|
|
cp /usr/bin/ssh* /usr/local/openssh-backup/
|
||
|
|
cp -r /etc/ssh /usr/local/openssh-backup/etc_ssh_$(date +%F)
|
||
|
|
```
|
||
|
|
|
||
|
|
替换
|
||
|
|
```
|
||
|
|
ln -sf /usr/local/openssh-10/sbin/sshd /usr/sbin/sshd
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh /usr/bin/ssh
|
||
|
|
ln -sf /usr/local/openssh-10/bin/scp /usr/bin/scp
|
||
|
|
ln -sf /usr/local/openssh-10/bin/sftp /usr/bin/sftp
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-keygen /usr/bin/ssh-keygen
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-keyscan /usr/bin/ssh-keyscan
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-agent /usr/bin/ssh-agent
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-add /usr/bin/ssh-add
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sshd.service
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
sed -i 's|ExecStart=.*|ExecStart=/usr/local/openssh-10/sbin/sshd -D -f /usr/local/openssh-10/etc/sshd_config|' /etc/systemd/system/sshd.service
|
||
|
|
|
||
|
|
sed -i '/^\[Service\]/a Environment="LD_LIBRARY_PATH=/usr/local/openssl-3/lib"' /etc/systemd/system/sshd.service
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
sudo systemctl daemon-reexec
|
||
|
|
sudo systemctl daemon-reload
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
sudo systemctl restart sshd
|
||
|
|
sudo systemctl status sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
10.160.20.112, 10.160.20.113,10.160.20.114,10.160.20.115,10.160.20.116,10.160.20.118,10.160.20.119,10.160.20.107
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
export LD_LIBRARY_PATH=/usr/local/openssl-3/lib:/usr/local/openssl-3/lib64
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
/usr/local/openssl-3/bin/openssl version -a
|
||
|
|
/usr/local/openssh-10/bin/ssh -V
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
生成key
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t rsa -b 4096 -f /usr/local/openssh-10/etc/ssh_host_rsa_key -N "" -q
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t ecdsa -b 521 -f /usr/local/openssh-10/etc/ssh_host_ecdsa_key -N "" -q
|
||
|
|
/usr/local/openssh-10/bin/ssh-keygen -t ed25519 -f /usr/local/openssh-10/etc/ssh_host_ed25519_key -N "" -q
|
||
|
|
```
|
||
|
|
|
||
|
|
测试语法
|
||
|
|
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/sbin/sshd -t -f /usr/local/openssh-10/etc/sshd_config
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
mkdir -p /var/empty
|
||
|
|
chown root:root /var/empty
|
||
|
|
chmod 755 /var/empty
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
测试启动
|
||
|
|
```
|
||
|
|
/usr/local/openssh-10/sbin/sshd -p 2222 -f /usr/local/openssh-10/etc/sshd_config -D
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
备份
|
||
|
|
```
|
||
|
|
mkdir -p /usr/local/openssh-backup
|
||
|
|
cp /usr/sbin/sshd /usr/local/openssh-backup/
|
||
|
|
cp /usr/bin/ssh* /usr/local/openssh-backup/
|
||
|
|
cp -r /etc/ssh /usr/local/openssh-backup/etc_ssh_$(date +%F)
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
替换
|
||
|
|
```
|
||
|
|
ln -sf /usr/local/openssh-10/sbin/sshd /usr/sbin/sshd
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh /usr/bin/ssh
|
||
|
|
ln -sf /usr/local/openssh-10/bin/scp /usr/bin/scp
|
||
|
|
ln -sf /usr/local/openssh-10/bin/sftp /usr/bin/sftp
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-keygen /usr/bin/ssh-keygen
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-keyscan /usr/bin/ssh-keyscan
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-agent /usr/bin/ssh-agent
|
||
|
|
ln -sf /usr/local/openssh-10/bin/ssh-add /usr/bin/ssh-add
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sshd.service
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
```
|
||
|
|
sed -i 's|ExecStart=.*|ExecStart=/usr/local/openssh-10/sbin/sshd -D -f /usr/local/openssh-10/etc/sshd_config|' /etc/systemd/system/sshd.service
|
||
|
|
|
||
|
|
sed -i '/^\[Service\]/a Environment="LD_LIBRARY_PATH=/usr/local/openssl-3/lib"' /etc/systemd/system/sshd.service
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
sudo systemctl daemon-reexec
|
||
|
|
sudo systemctl daemon-reload
|
||
|
|
```
|
||
|
|
|
||
|
|
```
|
||
|
|
sudo systemctl restart sshd
|
||
|
|
sudo systemctl status sshd
|
||
|
|
```
|
||
|
|
|
||
|
|
|