记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

openeuler2203构建openssh10.3p1版本的RPM包


此openssh.spec打包文件在openeuler2203与openeuler2403环境打包成功,测试安装正常。

支持 X11转发与ssh-copy-id命令。

RPM包下载地址:

https://gitcode.com/micoder/openssh/tree/main/openssh10.3p1-openEuler2203 


源码安装参考以下内容:

install -v -g sys -m700 -d /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd
./configure --prefix=/usr                            \
            --sysconfdir=/etc/ssh                    \
            --with-privsep-path=/var/lib/sshd        \
            --with-default-path=/usr/bin             \
            --with-superuser-path=/usr/sbin:/usr/bin \
            --with-pid-dir=/run                      &&
make

要测试结果,请执行:

make -j1 tests.

现在,以 root 用户身份:

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-10.3p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-10.3p1

命令说明

--sysconfdir=/etc/ssh: 此选项可防止配置文件被安装到 /usr/etc 目录。

--with-default-path=/usr/bin 和 --with-superuser-path=/usr/sbin:/usr/bin:

这些选项用于设置 PATH,使其与 LFS 和 BLFS Shadow 软件包保持一致。

--with-pid-dir=/run:

此选项可防止 OpenSSH 引用已弃用的 /var/run 目录。

--with-pam:

此选项在构建时启用 Linux-PAM 支持。如果使用此选项,请确保在下文“配置信息”部分创建 PAM 配置。

--with-xauth=$XORG_PREFIX/bin/xauth:

此选项设置 X 身份验证所用 xauth 二进制文件的默认位置。环境变量 XORG_PREFIX 应按照 Xorg 构建环境进行设置。

也可在 sshd_config 中通过 XAuthLocation 关键字控制此位置。如果已安装 xauth(Xorg 应用程序之一),则可省略此开关。

--with-kerberos5=/usr:

此选项用于在构建中包含 Kerberos 5 支持。

--with-libedit:

此选项为 sftp 启用行编辑和历史记录功能。

配置 OpenSSH

配置文件 ~/.ssh/*、/etc/ssh/ssh_config 和 /etc/ssh/sshd_config

这些文件均无需进行必要修改。不过,你可能需要查看 /etc/ssh/ 目录下的文件,并根据系统安全需求进行适当调整。

建议进行的一项修改是禁用通过 ssh 进行的 root 登录。以 root 用户身份执行以下命令,禁用 root 通过 ssh 登录:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

如果希望无需输入密码即可登录,首先使用 ssh-keygen 创建 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub,然后将 ~/.ssh/id_rsa.pub 复制到要登录的远程计算机的 ~/.ssh/authorized_keys 中。

你需要将 REMOTE_USERNAME 和 REMOTE_HOSTNAME 替换为远程计算机的用户名和主机名,并且在执行 ssh-copy-id 命令时需要输入密码以确保成功:

ssh-keygen && ssh-copy-id -i ~/.ssh/id_ed25519.pub REMOTE_USERNAME@REMOTE_HOSTNAME

一旦实现无密码登录,实际上它比使用密码登录更安全(因为私钥比大多数人的密码要长得多)。如果现在希望禁用密码登录,请以 root 用户身份执行:

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config && echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config

如果添加了 Linux-PAM 支持,并且希望 ssh 使用它,则需要为 sshd 添加配置文件并启用 LinuxPAM。

注意,ssh 仅使用 PAM 来检查密码,如果你已禁用密码登录,则不需要这些命令。如果希望使用 PAM,请以 root 用户身份执行以下命令:

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd && chmod 644 /etc/pam.d/sshd && echo "UsePAM yes" >> /etc/ssh/sshd_config

更多配置信息可在 sshd、ssh 和 ssh-agent 的手册页中找到。

Systemd 单元

要在系统启动时启动 SSH 服务器,请安装 blfs-systemd-units-20251204 软件包中包含的 sshd.service 单元。

[Note] 注意 BLFS 的 sshd systemd 单元不支持修改 /etc/sshd/sshd_config 中的 ListenAddress 设置。

make install-sshd

内容

已安装程序: scp、sftp、ssh、ssh-add、ssh-agent、ssh-copy-id、ssh-keygen、ssh-keyscan 和 sshd 已安装库:

 无 已安装目录: /etc/ssh、/usr/share/doc/openssh-10.3p1 和 /var/lib/sshd

简要说明

scp

是一个文件复制程序,其功能类似于 rcp,但使用加密协议

sftp

是一个类 FTP 程序,可通过 SSH1 和 SSH2 协议工作

ssh

是一个类 rlogin/rsh 的客户端程序,但使用加密协议

sshd

是一个监听 ssh 登录请求的守护进程

ssh-add

是一个向 ssh-agent 添加密钥的工具

ssh-agent

是一个可以存储私钥的身份验证代理

ssh-copy-id

是一个允许使用本地密钥登录远程机器的脚本

ssh-keygen

是一个密钥生成工具

ssh-keyscan

是一个用于从多个主机收集公共主机密钥的实用程序



转载请标明出处【 openeuler2203构建openssh10.3p1版本的RPM包】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论