我知道问这个问题可能有点愚蠢,但我正在尝试弄清楚如何在 Windows 10 客户端和我的 Linux 服务器之间建立安全的 SSH 连接。我希望使用 SSH 密钥来实现这一点,尽管我一直在查看的指南或多或少告诉我如何在 Windows 上创建密钥,而不是如何设置 Windows 和 Linux 之间的连接。
为了获得一些额外的信息,我正在为每台机器生成一个新的密钥对,同时使用密码。我的所有密钥都存储在“C:\Users\username.ssh”中,以防万一这不是一个存储这些密钥的好地方,因为我不知道。只是想弄清楚这一点。
我知道如何创建密钥,我之前用 git 做过这个。我使用 Windows 10 中已安装的 OpenSSH 客户端执行此操作,因此直接从终端执行。
我遇到的问题是设置 Linux 端。我主要使用 Ubuntu 和 Raspberry Pi,它们都使用不同的 SSH 端口,只是为了让我更干净。
我只是在寻找一些好的文档,关于如何设置这些以使我的家庭实验室感觉更安全一些。
Windows 10 中的 SSH 密钥通常位于
%userprofile%\.ssh
并且其工作方式与在 Linux 上基本相同。您可以在该目录下创建一个
config
文件并为您拥有的任何远程主机分配密钥、主机和端口。您可以从终端(cmd、ps、windows 终端等)使用
ssh router
或ssh pi
进行连接,假设您已将您的公钥添加到远程设备。在 Linux 端,您通常会使用 OpenSSH 作为 SSH 服务器,并且它希望列出您的公钥
~/.ssh/authorized_keys
(每个密钥一行)。公钥是来自
id_rsa.pub
或 的公钥id_ed25519.pub
,或者由ssh-keygen -y -f <file>
或打印ssh-add -L
。(同样,在另一个方向上也是这样;Windows 上的 OpenSSH 服务器将会查找
C:\Users\<username>\.ssh\authorized_keys
,尽管对于管理员来说,它已预先配置为使用C:\ProgramData\ssh\administrators_authorized_keys
。如果您愿意,您可以通过删除此例外C:\ProgramData\ssh\sshd_config
。)