如何停止SSH密码提示?[关闭]


10

我有一台刚刚打开的服务器。当我使用ssh as时nt_deployer,它要求我输入ssh密码:

Nets-Mac-Pro:mysite emai$ ssh nt_deployer@mysite-staging.nettheory.com
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
nt_deployer@mysite-staging.nettheory.com'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 emai@mysite-staging.nettheory.com
emai@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

有人可以告诉我如何阻止密码提示出现nt_deployer吗?


我跑步ssh-keygen并成功了
bigpotato 2014年

请发布您的解决方案,并将其标记为答案-这样可以避免ServerFault出现不需要任何帮助的“未回答”问题。
TessellatingHeckler 2014年

当您运行时ssh-keygen,您很可能破坏了前一个密钥。您知道为什么还要拥有一个吗?
Valmiky Arquissandas 2014年

Answers:


4

此行 Enter passphrase for key '/Users/emai/.ssh/id_rsa': 表示您的密钥在每次使用该密钥时都会受到输入密码的保护,它将要求输入密码。

通过再运行一次ssh-keygen而不输入密码,您已经生成了另一个密钥。键中没有密码-没有密码提示:)

这是ssh-keygen手册页的引文:

通常,此程序会生成密钥,并要求一个用于存储私钥的文件。公钥存储在一个文件中,该文件具有相同的名称,但附加了``.pub''。该程序还要求输入密码。密码短语可以为空,以指示没有密码短语(主机密钥必须具有空密码短语),也可以是任意长度的字符串。密码短语类似于密码,除了它可以是带有一系列单词,标点符号,数字,空格或所需的任何字符串的短语。好的密码短语的长度为10-30个字符,不是简单的句子,也不容易猜测(英语散文每个字符只有1-2位的熵,并且提供非常差的密码短语),并且包含大小写字母,数字,和非字母数字字符。以后可以使用-p选项更改密码短语。

无法恢复丢失的密码短语。 如果密码丢失或忘记了,则必须生成一个新密钥,并将相应的公共密钥复制到其他计算机上。


我发现SSH在读取私钥时遇到问题时会提示输入密码。我给了它一个空文件,并要求输入密码。
makhdumi

1
这意味着您需要执行ssh -v以查看实际错误,通常是权限问题,因为密钥文件必须具有0600权限。
刺激2015年

也可能是用户不拥有密钥文件。这通常是在从其他用户复制密钥时发生的。
Rusty Weber

@stimur 400应该足够
030

1
警告:至少在my上OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017,即使在没有密码的键上,即使在没有换行符的键之后,openssh也会要求输入密码-----END OPENSSH PRIVATE KEY-----
hanshenrik

3

基于stimur的答案,是的,ssh要求输入密钥的密码。这意味着您首先使用的是密钥。

如果这是您想要的-用密码短语保护的私钥,您可以ssh-agent用来记住该密码短语(或者我不确定是哪个解密的私钥),以便您可以登录而无需再次输入该密码短语。您可以无限期或固定时间记住它。

man ssh-agentman ssh-add


如果我运行ssh-agent,ssh-add并在运行ssh命令后仍然询问密码怎么办?当我输入密码时,它甚至询问密码,因为它认为密码可能是错误的?如果密码错误,则ssh-add命令也不会接受。
Darius.V 2015年

达里乌斯(Darius):密码短语错误,或者您有多个钥匙。尝试该ssh -v选项。
Valmiky Arquissandas 2015年

我尝试了-vvv。在询问密码短语之后-它说“没有密码短语,请尝试下一个密钥”。但是pashprhase是空字符串,所以我只是按下Enter键。然后,它会写“我们没有发送数据包,禁用方法”和“ authmethod_lookup密码”,并在几条消息后询问密码。尝试输入“”,然后输入,然后说-密码短语错误。而且我有多个钥匙,一个是带有密码短语,另一个是没有密码短语。但是我通过了ssh命令-i id_rsa,它应该知道我使用的是不带密码的密码
Darius.V 2015年

@ Darius.V:您可以显式指定密钥,-i /path/to/key并检查ssh的详细输出,以及验证密钥文件的权限。请确保您使用的是公钥,而不是私钥。
刺激
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.