我经常从我的笔记本电脑上 ssh 到我大学系的另一台机器。我目前每次都必须输入密码。
有人可以给我一个白痴指南,让我每次登录时自动输入密码吗?
提前谢谢您。
您可以通过启用无密码身份验证来覆盖。但您应该在执行此操作之前安装密钥(pub、priv)。
在本地服务器执行以下命令。
Local $> ssh-keygen -t rsa
按 ENTER 键查看所有提示选项。无需输入任何值。
Local $> cd .ssh
Local $> scp .ssh/id_rsa.pub user@targetmachine:
Prompts for pwd$> ENTERPASSWORD
使用以下命令连接到远程服务器
Local $> ssh user@targetmachine
Prompts for pwd$> ENTERPASSWORD
在远程服务器执行以下命令
Remote $> mkdir .ssh
Remote $> chmod 700 .ssh
Remote $> cat id_rsa.pub >> .ssh/authorized_keys
Remote $> chmod 600 .ssh/authorized_keys
Remote $> exit
在本地服务器上执行以下命令来测试无密码身份验证。 应该无需密码即可连接。
$> ssh user@targetmachine
如果设置了PKI(公钥基础设施),则无需提供密码即可登录。
否则,您将不得不寻找可以存储密码并支持您的操作系统的 ssh 客户端。
使用工具(例如 AutoHotkey,假设您使用的是 Windows)来记录和重播按键序列:http://www.autohotkey.com/
假设您使用的是 Bash 终端,这实际上非常简单。使用
ssh-copy-id
。例如:
ssh-copy-id -i ~/.ssh/id_rsa.pub <user@remote-host>
这会将您的公钥复制到远程主机,因此您不需要每次登录时都输入密码。