Portable OpenSSH 是一个开源软件项目,是OpenSSH(开源安全外壳)网络连接实用程序协议套件的可移植版本,今天在互联网上被越来越多的人使用。它是根据偏移量设计的,用于加密所有网络流量,包括密码,以便有效消除您无法预测的潜在攻击,例如连接劫持尝试或窃听。
功能一目了然
主要功能包括基于Blowfish,AES,3DES和Arcfour算法的强加密,通过加密X Window系统流量进行X11转发,基于Kerberos身份验证的强身份验证,公钥和一次性密码协议,以及通过加密传统协议的信道进行端口转发。
此外,该软件还带有基于SSO(单点登录)规范的代理转发,AFS和Kerberos票证传递,支持SSH1和SSH2协议中的SFTP(安全FTP)客户端和服务器,数据压缩和互操作性,使程序符合SSH 1.3,1.5和2.0协议标准。
包含哪些内容?
安装完成后,OpenSSH将自动使用SSH(Secure Shell)程序替换Telnet和rlogin实用程序,以及使用带有SFTP和RCP的FTP工具替换SCP。此外,它还包括SSH守护程序(sshd)和各种有用的实用程序,例如ssh-agent,ssh-add,ssh-keygen,ssh-keysign,ssh-keyscan和sftp-server。
引擎盖和可用性
整个项目使用C编程语言编写,并作为所有GNU / Linux操作系统的通用源存档分发,允许您将其安装在32位或64位(推荐)计算机上。
请注意,源代码tarball要求您在安装之前配置和编译项目,因此我们强烈建议最终用户尝试从其GNU / Linux操作系统的默认软件存储库进行安装。
此版本中的新功能:
- ssh(1),sshd(8):通过自动禁用OpenSSL不支持的密码来修复编译。 BZ#2466
- misc:修复某些版本的AIX编译器上与VA_COPY宏定义相关的编译失败。 BZ#2589
- sshd(8):将更多体系结构列入白名单以启用seccomp-bpf沙箱。 BZ#2590
- ssh-agent(1),sftp-server(8):使用setpflags(__ PROC_PROTECT,...)在Solaris上禁用进程跟踪。 BZ#2584
- sshd(8):在Solaris上,不要使用UsePAM =是调用Solaris setproject()它是PAM的责任。 BZ#2425
版本中的新功能:
- ssh(1),sshd(8):修复编译方式自动禁用OpenSSL不支持的密码。 BZ#2466
- misc:修复某些版本的AIX编译器上与VA_COPY宏定义相关的编译失败。 BZ#2589
- sshd(8):将更多体系结构列入白名单以启用seccomp-bpf沙箱。 BZ#2590
- ssh-agent(1),sftp-server(8):使用setpflags(__ PROC_PROTECT,...)在Solaris上禁用进程跟踪。 BZ#2584
- sshd(8):在Solaris上,不要使用UsePAM =是调用Solaris setproject()它是PAM的责任。 BZ#2425
新功能:
- ssh(1),sshd(8):通过自动禁用不受支持的密码来修复编译OpenSSL的。 BZ#2466
- misc:修复某些版本的AIX编译器上与VA_COPY宏定义相关的编译失败。 BZ#2589
- sshd(8):将更多体系结构列入白名单以启用seccomp-bpf沙箱。 BZ#2590
- ssh-agent(1),sftp-server(8):使用setpflags(__ PROC_PROTECT,...)在Solaris上禁用进程跟踪。 BZ#2584
- sshd(8):在Solaris上,不要使用UsePAM =是调用Solaris setproject()它是PAM的责任。 BZ#2425
版本7.3p1中的新功能:
- ssh(1),sshd(8):通过自动禁用OpenSSL不支持的密码来修复编译。 BZ#2466
- misc:修复某些版本的AIX编译器上与VA_COPY宏定义相关的编译失败。 BZ#2589
- sshd(8):将更多体系结构列入白名单以启用seccomp-bpf沙箱。 BZ#2590
- ssh-agent(1),sftp-server(8):使用setpflags(__ PROC_PROTECT,...)在Solaris上禁用进程跟踪。 BZ#2584
- sshd(8):在Solaris上,不要使用UsePAM =是调用Solaris setproject()它是PAM的责任。 BZ#2425
版本7.2p2中的新功能:
- 错误修正:
- ssh(1),sshd(8):为FuTTY添加兼容性解决方法
- ssh(1),sshd(8):改进WinSCP的兼容性解决方法
- 在ssh(1)和ssh-keygen(1)中修复了许多内存错误(双重释放,没有未初始化的内存等)。 Mateusz Kocielski报道。
版本7.1p1中的新功能:
- 错误修正:
- ssh(1),sshd(8):为FuTTY添加兼容性解决方法
- ssh(1),sshd(8):改进WinSCP的兼容性解决方法
- 在ssh(1)和ssh-keygen(1)中修复了许多内存错误(双重释放,没有未初始化的内存等)。 Mateusz Kocielski报道。
版本6.9p1中的新功能:
- sshd(8):使用sshd时格式化UsePAM设置-T,bz#2346 的一部分
- 在'ar'之前查找'$ {host} -ar',使交叉编译更容易; BZ#2352。
- 几个可移植的编译修复:bz#2402,bz#2337,bz#2370
- moduli(5):更新DH-GEX模块
版本6.8p1中的新功能:
- 在配置时支持--without-openssl。禁用并删除对OpenSSL的依赖。不支持许多功能,包括SSH协议1,并且加密选项集受到很大限制。这仅适用于具有本机arc4random或/ dev / urandom的系统。现在认为是高度实验性的。
- 在配置时支持--without-ssh1选项。允许禁用对SSH协议1的支持。
- sshd(8):修复utmpx中支持IPv6的系统的编译; BZ#2296
- 在Cygwin上为sshd提供自定义服务名称。允许使用运行不同服务名称的多个sshd。
版本6.7p1中的新功能:
- 便携式OpenSSH现在支持针对libressl-portable进行构建。
- 便携式OpenSSH现在需要openssl 0.9.8f或更高版本。不再支持旧版本。
- 在OpenSSL版本检查中,允许修复版本升级(但不是降级.Debian bug#748150。
- sshd(8):在Cygwin上,在运行时确定权限分离用户,因为它可能需要是域帐户。
- sshd(8):不要尝试在Linux上使用vhangup。它对非root用户不起作用,对于它们来说它只是弄乱了tty设置。
- 当CLOCK_OONTIME可用时优先使用CLOCK_BOOTTIME。它考虑暂停的时间,从而确保超时(例如,对于到期的代理键)正确触发。 BZ#2228
- 将ed25519支持添加到opensshd.init init脚本。
- sftp-server(8):在支持它的平台上,使用prctl()阻止sftp-server访问/ proc / self / {mem,maps}
版本6.5p1中的新功能:
- 新功能:
- ssh(1),sshd(8):在Daniel Bernstein的Curve25519中使用椭圆曲线Diffie Hellman添加对密钥交换的支持。当客户端和服务器都支持时,此密钥交换方法是默认方式。
- ssh(1),sshd(8):添加对Ed25519的支持作为公钥类型。 Ed25519是一种椭圆曲线签名方案,提供比ECDSA和DSA更好的安全性和良好的性能。它可以用于用户和主机密钥。
- 添加一个新的私钥格式,该格式使用bcrypt KDF来更好地保护静止的密钥。此格式无条件地用于Ed25519密钥,但可以在通过-o ssh-keygen(1)选项生成或保存其他类型的现有密钥时请求。我们打算在不久的将来使新格式成为默认格式。新格式的详细信息位于PROTOCOL.key文件中。
- ssh(1),sshd(8):添加新的传输密码“chacha20-poly1305@openssh.com"它结合了Daniel Bernstein的ChaCha20流密码和Poly1305 MAC来构建经过身份验证的加密模式。详细信息在PROTOCOL.chacha20poly1305文件中。
- ssh(1),sshd(8):拒绝来自使用过时RSA + MD5签名方案的旧专有客户端和服务器的RSA密钥。仍然可以与这些客户端/服务器连接,但只接受DSA密钥,OpenSSH将在以后的版本中完全拒绝连接。
- ssh(1),sshd(8):拒绝使用较弱密钥交换哈希计算的旧专有客户端和服务器。
- ssh(1):增加为每个对称密钥大小请求的Diffie-Hellman组的大小。来自NIST特刊800-57的新值,其上限由RFC4419指定。
- ssh(1),ssh-agent(1):支持pkcs#11 tokes只提供X.509证书而不是原始公钥(请求为bz#1908)。
- ssh(1):添加ssh_config(5)“匹配”允许通过匹配主机名,用户和任意命令的结果来应用条件配置的关键字。
- ssh(1):使用ssh_config(5)中的一组DNS后缀和规则添加对客户端主机名规范化的支持。这允许将非限定名称规范化为完全限定的域名,以消除在known_hosts中查找密钥或检查主机证书名称时的歧义。
- sftp-server(8):按名称添加白名单和/或黑名单sftp协议请求的功能。
- sftp-server(8):添加sftp" fsync@openssh.com"支持在打开的文件句柄上调用fsync(2)。
- sshd(8):添加ssh_config(5)PermitTTY以禁止TTY分配,镜像长期的no-pty authorized_keys选项。
- ssh(1):添加一个ssh_config ProxyUseFDPass选项,该选项支持使用建立连接的ProxyCommands,然后将连接的文件描述符传递回ssh(1)。这允许ProxyCommand退出而不是留下来传输数据。
- 错误修正:
- ssh(1),sshd(8):修复由嵌套证书引起的潜在堆栈耗尽。
- ssh(1):bz#1211:使BindAddress与UsePrivilegedPort一起使用。
- sftp(1):bz#2137:修复进度表以恢复转移。
- ssh-add(1):bz#2187:从ssh-agent中删除密钥时不要求智能卡PIN。
- sshd(8):bz#2139:修复无法执行原始sshd二进制文件时的重新执行回退。
- ssh-keygen(1):使相对指定的证书到期时间相对于当前时间而不是有效期开始时间。
- sshd(8):bz#2161:修复Match块中的AuthorizedKeysCommand。
- sftp(1):bz#2129:符号链接文件会错误地规范目标路径。
- ssh-agent(1):bz#2175:修复PKCS#11代理助手可执行文件中的use-after-free。
- sshd(8):改进会话记录,包括用户名,远程主机和端口,会话类型(shell,命令等)和分配的TTY(如果有)。
- sshd(8):bz#1297:告诉客户端(通过调试消息)他们的首选监听地址何时被服务器的GatewayPorts设置覆盖。
- sshd(8):bz#2162:在错误的协议标题消息中包含报告端口。
- sftp(1):bz#2163:修复do_readdir()中错误路径中的内存泄漏。
- sftp(1):bz#2171:出错时不要泄漏文件描述符。
- sshd(8):在“Connection from ...”中包含本地地址和端口。消息(仅显示在loglevel> =详细)。
- Portable OpenSSH:
- 请注意,这是支持0.9.6之前版本的OpenSSL的Portable OpenSSH的最新版本。 6.5p1版本发布后将删除支持(即SSH_OLD_EVP)。
- 便携式OpenSSH将尝试在Linux,OS X和OpenBSD上作为位置独立可执行文件在最近的类似gcc的编译器上进行编译和链接。其他平台和旧版/其他编译器可以使用--with-pie配置标志来请求它。
- 如果可用,会自动使用许多其他与工具链相关的加固选项,包括-ftrapv中止有符号整数溢出和选项以保护动态链接信息。可以使用--without-hardening configure标志禁用这些选项。
- 如果工具链支持它,则使用-fstack-protector-strong,-fstack-protector-all或-fstack-protector编译标志之一来添加防护,以缓解基于堆栈溢出的攻击。可以使用--without-stackprotect configure选项禁用这些选项。
- sshd(8):使用FreeBSD 10中引入的Capsicum API添加对预身份验证沙盒的支持。
- 切换到基于ChaCha20的arc4random()PRNG,用于不提供自己的平台。
- sshd(8):bz#2156:在处理SIGHUP时恢复Linux oom_adj设置以维持retart的行为。
- sshd(8):bz#2032:在krb5_kuserok检查中使用本地用户名,而不是用户名@ REALM形式的完整客户名称。
- ssh(1),sshd(8):测试OpenSSL中是否存在ECC NID号,以及它们是否真正有效。 Fedora(至少)有NID_secp521r1不起作用。
- bz#2173:使用pkg-config --libs为libedit包含正确的-L位置。
版本6.4p1中的新功能:
- 此版本修复了一个安全漏洞:sshd(8) :修复选择AES-GCM密码时在重新加密期间触发的内存损坏问题。有关此漏洞的完整详细信息,请访问:http://www.openssh.com/txt/gcmrekey.adv
版本6.3p1中的新功能:
- 特点:
- sshd(8):为sshd(8)添加ssh-agent(1)支持;允许加密的主机密钥或智能卡上的主机密钥。
- ssh(1)/ sshd(8):允许通过现有RekeyLimit选项的第二个参数进行可选的基于时间的重新加密。现在,sshd_config和客户端都支持RekeyLimit。
- sshd(8):在用户身份验证期间标准化信息记录。
- 现在的密钥/证书和远程用户名(如果可用)现在记录在与本地用户名,远程主机/端口和正在使用的协议相同的日志行中的身份验证成功/失败消息中。还会记录证书内容和签名CA的密钥指纹。
- 在一行中包含所有相关信息简化了日志分析,因为不再需要关联分散在多个日志条目中的信息。
- ssh(1):添加查询二进制文件中支持的密码,MAC算法,密钥类型和密钥交换方法的功能。
- ssh(1):支持ProxyCommand = - 允许stdin和stdout已经指向代理的支持案例。
- ssh(1):允许IdentityFile = none
- ssh(1)/ sshd(8):向ssh和sshd添加-E选项,将调试日志附加到指定文件而不是stderr或syslog。
- sftp(1):使用“reget”添加对恢复部分下载的支持命令和sftp命令行或“获取”命令使用“-a”的命令行(追加)选项。
- ssh(1):添加“IgnoreUnknown”配置选项,用于有选择地抑制由未知配置指令引起的错误。
- sshd(8):添加对通过AuthenticationMethods列出的所需身份验证方法附加的子方法的支持。
- 错误修正:
- sshd(8):如果在CA密钥之前的authorized_keys中出现与CA密钥类型不同的密钥,则拒绝接受证书。
- ssh(1)/ ssh-agent(1)/ sshd(8):对定时器使用单调时间源,以便keepalive和rekeying等功能可以在时钟步骤中正常工作。
- sftp(1):在确认数据时更新进度表,而不是在发送数据时更新。 BZ#2108
- ssh(1)/ ssh-keygen(1):当/ etc / passwd中不存在当前用户时改进错误消息; BZ#2125
- ssh(1):重置部分身份验证成功后尝试公钥的顺序。
- ssh-agent(1):在调试模式下清除SIGINT后的套接字文件; BZ#2120
- ssh(1)和其他:在系统解析器配置损坏的情况下,避免混淆错误消息; BZ#2122
- ssh(1):为以-N开头的连接设置TCP nodelay; BZ#2124
- ssh(1):对〜/ .ssh / config的权限要求的正确手册; BZ#2078
- ssh(1):修复在TCP连接挂起的情况下,ControlPersist超时不会触发。 BZ#1917
- ssh(1):从控制终端正确地取消ControlPersist主服务器。
- sftp(1):当使用多字节字符支持编译时,避免在libedit中崩溃。 BZ#1990
- sshd(8):运行sshd -D时,除非我们已明确请求记录到stderr,否则关闭stderr。 BZ#1976,
- ssh(1):修复不完整的bzero; BZ#2100
- sshd(8):如果指定了ChrootDirectory并且没有root权限运行,则记录并输出错误并退出。
- 回归测试套件的许多改进。特别是日志文件现在在失败后从ssh和sshd保存。
- 修复了一些内存泄漏问题。 bz#1967 bz#2096和其他人
- sshd(8):当a:style附加到请求的用户名时修复公钥认证。
- ssh(1):尝试清除未完全打开的多路复用创建的通道时,不要致命地退出。 BZ#2079
- Portable OpenSSH:
- contrib / cygwin / README 的重大改革
- 修复umac.c中针对严格对齐体系结构的未对齐访问。 BZ#2101
- 如果编译器支持,则启用-Wsizeof-pointer-memaccess。 BZ#2100
- 修复损坏的错误命令行报告错误。 BZ#1448
- 如果libcrypto具有所需的支持,则仅包括SHA256和基于ECC的密钥交换方法。
- 修复严格对齐体系结构中SOCKS5动态转发代码的崩溃。
- 针对Android的许多可移植性修复:*不要尝试在Android上使用lastlog; bz#2111 *回到在没有本机crypt()函数的平台上使用openssl的DES_crypt函数; bz#2112 *测试fd_mask,howmany和NFDBITS,而不是试图枚举没有它们的平台。 bz#2085 *用S_IWUSR替换未标准化的S_IWRITE,即。 bz#2085 *为没有它的平台添加endgrent的null实现(例如Android)bz#2087 *支持平台,例如Android,缺少struct passwd.pw_gecos。 BZ#2086
新功能:
- sshd(8):现在ARM支持Linux seccomp-filter沙箱内核支持它的平台。
- sshd(8):如果系统头在编译时支持它,则不会启用seccomp-filter沙箱,无论是否可以启用它。如果运行时系统不支持seccomp-filter,则sshd将回退到rlimit伪沙箱。
- ssh(1):不要在Kerberos库中链接。客户端不需要它们,只需在sshd(8)上。 BZ#2072
- 修复Solaris上的GSSAPI链接,该链接使用名称不同的GSSAPI库。 BZ#2073
- 使用openssl-1.0.0-fips在系统上修复编译。
- 修复RPM规范文件中的许多错误。
版本5.8p1中的新功能:
- Portable OpenSSH错误修正:
- 在启用SELinux支持时修复编译失败。
- 禁用SELinux时,请勿尝试调用SELinux功能。 BZ#1851
评论没有发现