首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenSSH日志中“密钥选项:代理转发”的含义

OpenSSH日志中“密钥选项:代理转发”的含义
EN

Unix & Linux用户
提问于 2023-03-31 08:06:03
回答 1查看 79关注 0票数 0

首先,我想指出,我知道还有很多关于SSH代理转发的问题。那里的人想知道如何使代理转发工作,或者如何安全地配置它。但我有相反的问题:我似乎无法可靠地禁用它。所以我们开始:

我正在运行一个Debian斗牛眼系统,到目前为止,在编写本报告时,基本上是香草。在该系统上,正在运行一个SSH守护进程,并在/etc/ssh/sshd_config中进行以下配置:

代码语言:javascript
复制
AcceptEnv LANG LC_*
AllowAgentForwarding no
AllowTcpForwarding no
AllowStreamLocalForwarding no
ChallengeResponseAuthentication no
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
Compression no
DebianBanner no
HostKeyAlgorithms rsa-sha2-512,ssh-ed25519
KbdInteractiveAuthentication no
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
ListenAddress aaa.bbb.ccc.ddd
LoginGraceTime 20
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
PasswordAuthentication no
PermitUserRC no
Protocol 2
# The first of the following version is the right one.
# However, for brain-dead WinSCP, we need the second version.
#PubkeyAcceptedKeyTypes rsa-sha2-512,rsa-sha2-256,ssh-ed25519
PubkeyAcceptedKeyTypes rsa-sha2-512,rsa-sha2-256,ssh-ed25519,ssh-rsa
RekeyLimit 100M 20m
Subsystem sftp /usr/lib/openssh/sftp-server

Match user copyremote
  ChrootDirectory /backup
  ForceCommand /usr/lib/openssh/sftp-server

这是完整的配置文件;除了监听的IP地址之外,没有任何内容被删除或混淆。此外,没有其他地方包含SSH守护进程的附加配置片段。

基本上,该配置试图关闭我不需要的所有功能,例如代理转发功能(注意:在该配置文件中,我没有为默认关闭的大多数功能添加行(根据手册))。我们还看到,身份验证是基于独占公钥的。

前几天,我正在调查用户copyremote和sftp子系统的问题,因此将-v作为客户端计算机上sftp的参数。这将导致以下输出(只显示相关部分):

代码语言:javascript
复制
root@morn ~/scripts # sftp -v -i ~/.ssh/id_rsa_backup_user copyremote@achilles.binarus.de:/backup/achilles.bsdtar.gz .
OpenSSH_8.4p1 Debian-5+deb11u1, OpenSSL 1.1.1n  15 Mar 2022
[...]
debug1: Remote: /home/usr/copyremote/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /home/usr/copyremote/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
[...]

这太可怕了。我以为我已经关闭了服务器上系统范围内的配置文件中的代理转发。然而,正如我所理解的输出,它提供它。

有谁能解释一下我如何在全球范围内关闭代理转发(以及我不希望服务器提供的其他功能)?

这些特性可以在authorized_keys文件中显式禁用,但是如果有多个用户并且每个用户都接受多个公钥,那么这将非常容易出错,而且工作量很大,所以我非常希望能够在一个地方关闭它。

这是服务器上用户authorized_keyscopyremote文件:

代码语言:javascript
复制
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDs6ku+LXaUBs....JFchhaoQ== me@client

里面没有什么特别的东西。值得注意的是,代理转发是不允许显式的。那么,为什么它不应用系统范围内的配置设置呢?

我知道SSH / SFTP色度不能提供我们期望的安全性。我已经在服务器上实现了进一步的措施来缓解这个问题,因此不需要在这里讨论:-)

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-03-31 09:15:14

它只表示,如果代理转发是全局启用的(它不是这样的),则可以使用密钥(默认)进行代理转发。

日志条目只显示解析authorized_keys文件的结果。它基本上说,在相应的条目中没有找到no-agent-forwarding标志。它根本不反映AllowAgentForwarding no指令。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/741533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档