我有一个刚刚打开的服务器。当我以 ssh 身份登录时nt_deployer
,它要求我输入 ssh 密码:
Nets-Mac-Pro:mysite emai$ ssh [email protected]
Enter passphrase for key '/Users/emai/.ssh/id_rsa':
[email protected]'s password:
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)
但是,当我以 ssh 身份运行时emai
,它不会询问:
Nets-Mac-Pro:mysite emai$ ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)
有人能告诉我如何阻止密码提示弹出吗nt_deployer
?
答案1
这一行
Enter passphrase for key '/Users/emai/.ssh/id_rsa':
意味着您的密钥受到生成密钥时输入的密码保护,每次使用密钥时都会要求输入密码。
通过再次运行 ssh-keygen 而不输入密码,您已生成另一个密钥。密钥中没有密码 - 没有密码提示 :)
以下是 ssh-keygen 手册页的引用:
通常,该程序会生成密钥并要求提供一个文件来存储私钥。公钥存储在同名但附加了“ .pub”的文件中。该程序还要求输入密码。密码可以为空以表示没有密码(主机密钥必须具有空密码),也可以是任意长度的字符串。密码类似于密码,但它可以是一个包含一系列单词、标点符号、数字、空格或任何您想要的字符串的短语。好的密码长度为 10-30 个字符,不是简单的句子或容易被猜到的(英语散文每个字符只有 1-2 位熵,并且提供的密码非常糟糕),并且包含大小写字母、数字和非字母数字字符的混合。密码可以稍后使用 -p 选项进行更改。
丢失的密码无法恢复。 如果密码丢失或忘记,则必须生成新密钥并将相应的公钥复制到其他机器。
答案2
根据 stimur 的回答,是的,ssh 要求输入密钥的密码。这意味着您首先要使用密钥。
如果这就是您想要的 - 一个受密码保护的私钥,您可以用ssh-agent
它来记住密码(或解密的私钥,我不确定是哪一个),这样您就可以登录而不必再次输入密码。您可以无限期地记住它,也可以在固定的时间内记住它。
man ssh-agent
和man ssh-add
!