我搜索了大半个上午,但还是没找到从 ssh 登录到我的音频/视频服务器中删除密码的方法。我找到的大多数信息都与不同类型的身份验证有关。我的客户端计算机只有 .ssh/known-hosts,而服务器有 .ssh/authorized_keys 和另一个 know-hosts。我经常进出服务器,它没有连接到互联网,而且我在这台机器上真的不需要密码。有没有办法从 ssh 登录中删除密码?谢谢
答案1
如果你想要彻底删除密码,可以这样做:
- 运行
passwd -d username
即可删除密码。 - 编辑
/etc/ssh/sshd_config
并设置PermitEmptyPasswords yes
。
如果您想要一些保护并且只使用一台计算机,则可以使用 ssh 密钥:
# How to generate and use your default key:
ssh-keygen
ssh-copy-id user@host
ssh user@host
# How to generate and use another named key:
ssh-keygen -f another_key_file
ssh-copy-id another_key_file user@host
ssh -i another_key_file user@host
如果愿意,您可以保留密钥而不设置密码。这可能不是您的默认密钥的最佳选择,但对于仅用于此的另一个命名密钥来说,这并不重要。
您可以使用 ssh-agent 或 keychain,这样每次重启后您只需输入一次密码,并且您的密钥保持加载状态。
答案2
SSH 通常带有一个名为 ssh-copy-id 的实用程序,它只是将客户端的 ~/.ssh/id_rsa.pub 的内容添加到服务器的 ~/.ssh/authorized_keys
$ ssh-copy-id -i .ssh/id_rsa.pub user@remote
如果你没有密钥(也没有~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
),请使用以下方式生成一个ssh-keygen
.ssh/id_rsa.pub
如果你不想使用默认密钥,请将其替换为你想要的密钥