我想在无法访问 Internet 的计算机上安装 Microsoft 提供的适用于 Windows 10 的 OpenSSH 客户端。
通常,安装 OpenSSH 客户端的说明涉及在 PowerShell 中运行如下命令:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)
或者在命令提示符中使用 DISM 工具:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
Run Code Online (Sandbox Code Playgroud)
但是,我发现这些命令只有在机器可以访问互联网时才有效,这是有道理的,因为每个命令都使用“在线”开关。“在线”开关的存在让我觉得可能有一种方法可以离线执行安装。这种离线安装可能需要下载文件并将其放置在机器上,Add-WindowsCapability或者DISM.exe知道如何使用。
是否可以在没有互联网访问的情况下安装 OpenSSH 客户端?
我试图禁用 CentOS 8 上 OpenSSH 服务器中使用的 AES256-CBC 密码,同时将安全策略设置为“未来”。
根据本页的表格(请参阅“在加密策略级别中启用的密码套件和协议”),未来的加密策略似乎不应启用 CBC 模式密码(请参阅与“未来”和“CBC 模式密码”)。
我运行此命令将我的 CentOS 8 系统从默认更改为未来:
sudo update-crypto-policies --set FUTURE
Run Code Online (Sandbox Code Playgroud)
随后重新启动:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
然而,Nessus 扫描显示 SSH 服务支持“aes256-cbc”算法。此输出对应于Nessus插件。
经过一番调查,服务(和客户端)的未来安全策略文件似乎确实包含“aes256-cbc”:
$ grep aes256-cbc /usr/share/crypto-policies/FUTURE/openssh*.txt
/usr/share/crypto-policies/FUTURE/opensshserver.txt:CRYPTO_POLICY='-oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc -oMACs=umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 -oGSSAPIKeyExchange=no -oKexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -oHostKeyAlgorithms=rsa-sha2-256,ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,rsa-sha2-512,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-ed25519-cert-v01@openssh.com -oPubkeyAcceptedKeyTypes=rsa-sha2-256,ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,rsa-sha2-512,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-ed25519-cert-v01@openssh.com'
/usr/share/crypto-policies/FUTURE/openssh.txt:Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc
Run Code Online (Sandbox Code Playgroud)
我可以使 SSH 选择退出全局安全策略(并Ciphers手动在 sshd_config 中设置)或手动编辑 /usr/share/crypto-policies/FUTURE/openssh*.txt 文件以排除 CBC,但我不喜欢其中任何一个的想法。
这是否可能是 Centos 8 安全策略配置中的一个错误,或者是否有某种方法可以在不手动指定密码列表的情况下禁用 CBC?