在 Linux 中,使用 USB 密钥进行 SSH 登录可以提高安全性,因为私钥存储在 USB 设备上,而不是在本地计算机上
- 生成 SSH 密钥对:
首先,你需要在本地计算机上生成一个 SSH 密钥对。如果你还没有密钥对,请打开终端并运行以下命令:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_usb
这将在 ~/.ssh
目录下生成一个名为 id_rsa_usb
的私钥文件和一个名为 id_rsa_usb.pub
的公钥文件。
- 将公钥添加到远程服务器:
将公钥内容复制到远程服务器的 authorized_keys
文件中。你可以使用以下命令将公钥复制到剪贴板:
cat ~/.ssh/id_rsa_usb.pub | xclip -selection clipboard
然后,登录到远程服务器,编辑 ~/.ssh/authorized_keys
文件并将公钥粘贴到其中。确保每个密钥都在单独的一行上。
- 将私钥存储在 USB 设备上:
将生成的私钥文件(id_rsa_usb
)复制到 USB 设备上。例如,如果你的 USB 设备挂载在 /media/usb
目录下,你可以运行以下命令:
cp ~/.ssh/id_rsa_usb /media/usb/
- 配置 SSH 使用 USB 密钥:
在本地计算机上,编辑或创建 ~/.ssh/config
文件,并添加以下内容:
Host remote-server HostName remote-server-ip-or-domain User your-username IdentityFile /media/usb/id_rsa_usb
将 remote-server
替换为你的远程服务器别名,将 remote-server-ip-or-domain
替换为远程服务器的 IP 地址或域名,将 your-username
替换为你的远程服务器用户名。
- 使用 USB 密钥进行 SSH 登录:
在连接 USB 设备到本地计算机后,运行以下命令以使用 USB 密钥进行 SSH 登录:
ssh remote-server
这将使用存储在 USB 设备上的私钥进行身份验证,从而提高安全性。