在典型的浏览器中,当我们设置代理服务器时,我们可以定义一个不使用代理服务器的主机名/IP 地址列表。使用 $http_proxy 时我们如何完成同样的事情?我依靠设置 $http_proxy在 Linux上的Chromium 中使用代理服务器,但它们是我需要绕过代理设置的 Intranet 上的某些 IP 地址。
我们将文件传输到应用程序中的远程服务器,所需的身份验证方法是使用 SSH 密钥。
因此,我使用 ssh-keygen 创建了我的密钥对,并提交了我的公钥以插入到远程主机的 authorized_keys 文件中。但是,这被 IT 安全部门拒绝,他们说他们会为我生成密钥对并将私钥发送给我。原因:“我们需要 IT 安全团队签署 SSH 密钥。这是为了确保我们在跟踪和问责方面有一定的领先优势。”
显然,我对此有问题。拥有其他人生成的私钥意味着我可以让那个人在我不知情的情况下伪装成我。我试图找到反驳这个论点的方法。
据我所知,似乎没有任何已知的方法可以对密钥进行签名,以帮助跟踪已登录的人。我提交了我的公钥这一事实意味着我拥有该密钥,并且默认情况下,使用该密钥登录远程服务器的任何人都会被识别为我自己。签约有什么帮助?无论如何,他们将如何签署?
如果我错了,请告诉我,谢谢!
好的,既然我们已经确定无法对 SSH 密钥进行签名,我需要向 IT 安全部门展示他们如何实际跟踪登录的人(我想,必须具有建设性,如果不是高压开始)。在我自己的服务器上,我将 sshd 的 LogLevel 设置为 DEBUG。所以现在当我登录时,我可以看到以下代码段:
Found matching DSA key: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Run Code Online (Sandbox Code Playgroud)
这似乎是一个哈希值。我如何将此与使用了 authorized_keys 文件中的哪个公钥相关联?我知道还有另一行说:
debug1: matching key found: file /home/bofh/.ssh/authorized_keys2, line 1
Run Code Online (Sandbox Code Playgroud)
但这并不是因为如果我要在文件顶部插入一个键,将原始键向下推,行号可以很容易地更改。
谢谢!