我有一台 ubuntu 服务器,我经常将文件 scp 到该服务器上。它使用服务器上的密钥进行无密码身份验证。是否可以将 mac 地址绑定到密钥,以便只有我的客户端才能使用它登录?
答案1
不。
SSH 密钥是一对公钥/私钥认证对。它们对网络1
一无所知。
此外,SSH 服务器不知道客户端的 MAC 地址是什么。它对网络的了解仅限于 TCP/IP。它没有理由需要其客户端的 MAC 地址,而且无论如何它也不会对所有客户端可用(想想不在本地子网上的主机)。
1例外:主机密钥通常通过文件与其所属主机的 IP 地址或主机名相关联known_hosts
- 这种关联对于 SSH 的功能而言并非绝对必要,它只是增加了安全性以确保您连接到您认为正在连接的机器。
答案2
简短的回答是可以的,但只能通过 IPTables。这绝对不是你想要的,因为它与你的密钥无关,只与防火墙过滤有关。
以下是关于在 Ubuntu 中使用 ssh 密钥的页面。一旦你做过一次,就会发现这很容易做到。
- 在客户端上创建密钥
- 将公钥复制到服务器
- 使用客户端私钥登录
此后,你只需保密你的私钥(对于该客户端是唯一的)