我在一台 Windows 10 机器上,有一个 SSH 客户端C:\Windows\System32\OpenSSH
(现在肯定是操作系统的一部分)。我习惯使用 Unix-land SSH,其中有一个配置文件$HOME/.ssh/config
。
我的问题是:Windows 的 OpenSSH 有这样的文件吗?如果有的话,它位于哪里?如果没有,除了通过命令行之外,您如何配置它?
注意:请不要建议我使用 Cygwin 或 PuTTY。这两个都是不错的选择,但我特别询问的是 Windows 提供的 SSH 客户端。
答案1
OpenSSH 配置和密钥文件(包括config
、known_hosts
、authorized_keys
、id_rsa
、id_dsa
等),在 Unix 上转到~/.ssh
,在 Win32-OpenSSH 上转到%USERPROFILE%\.ssh
。
通常是:
C:\Users\username\.ssh
虽然管理员有例外authorized_keys
。Win32-OpenSSH%ALLUSERSPROFILE%\ssh\administrators_authorized_keys
则使用。请参阅我的指南在 Win32-OpenSSH 服务器上设置 SSH 公钥认证。
Win32的OpenSSH是 Microsoft 构建的 OpenSSH,现在是 Windows 10 和 11 的标准部分。
答案2
正如 Martin 所说,它位于用户目录中的文件夹下.ssh
。我只想在此文件中添加主机配置的快速示例语法:
Host somename
HostName 1.2.3.4 # An address to SSH to.
User someuser
Port 22
IdentityFile ~/.ssh/somename-privatekey.pem
IdentitiesOnly yes
(来源)
注意事项1:名为 IdentitiesOnly 的标签将告诉 SSH 不要尝试该文件夹内的每个身份文件,而只尝试已定义的文件。默认情况下,SSH 将遍历并尝试每个身份文件,直到找到正确的文件。