我刚刚尝试使用SSH(PuTTY,Windows)登录到Fedora(第13版Goddard)服务器。出于某种原因,输入用户名后回车未通过,我输入了密码,然后再次按Enter。我只有在服务器满意地向我打招呼了,我才意识到我的错误。


我的用户名MYPASSWORD@server.example.com的密码:


我崩溃了此时连接并更改了该计算机上的密码(通过单独的SSH连接)。

...现在我的问题是:这样的登录失败是否以纯文本格式存储在任何日志文件中?换句话说,下次他扫描日志时,我是否只是将我(现在已经过时)的密码强加在远程管理员的面前?

更新

谢谢对于所有暗示的问题“将来如何防止这种情况”的评论。为了实现快速的一次性连接,我现在将使用此PuTTY功能:



再次替换where-was-it-again的“自动登录用户名”选项



我还将开始更频繁地使用ssh密钥,如PuTTY文档中所述。

评论

这是一个非常好的问题。我认为我们都在某个时间点不小心将UsernamePassword键入了某种服务。这太容易了。

另一个合理理由定期更改密码。

您可以通过告诉ssh客户端连接到username@server.example.com来避免这种情况。然后,只会提示您输入密码,这样就不可能发生这样的事故。但是,更好的方法是只使用公共/私有密钥。

@Iceman感谢您的提示-因为我知道PuTTY将用户名隐藏在Connection / Data / Login details / Auto-login username下,所以我从未想到“主机名(或IP地址)”字段也可以接受username @ hostname之类的适当的命令行ssh客户端。

使用基于密钥的身份验证。

#1 楼

简而言之:是。

# ssh 192.168.1.1 -l "myuser mypassword"
^C
# egrep "mypassword" /var/log/auth.log
Oct 19 14:33:58 host sshd[19787]: Invalid user myuser mypassword from 192.168.111.78
Oct 19 14:33:58 host sshd[19787]: Failed none for invalid user myuser mypassword from 192.168.111.78 port 53030 ssh2


#2 楼

如果我还记得的话,如果将日志级别设置为DEBUG或TRACE,则它确实已在日志中注册。

编辑:确认,我试图登录到服务器并在我的日志中找到了它。

Oct 19 14:34:24 sd-xxxx sshd[26563]: pam_unix(sshd:auth): authentication failure; logname=     uid=0 euid=0 tty=ssh ruser= rhost=xxx-xxx-xxx-xxx.rev.numericable.fr 
Oct 19 14:34:26 sd-xxxx sshd[26563]: Failed password for invalid user toto from xxx.xxx.xxx.xxx port 56685 ssh2


注意:IP被隐藏

评论


您的IP未被隐藏,它们只是以罗马数字形式发布。

–巴特·银线
2011-10-19 12:55

或专有名词。

– Sirex
2011年10月19日在14:08

还是互联网上十几岁男孩的圣地-色情的IP。

–院长Wombourne
2011年10月19日16:08

#3 楼

还是为了增加安全性和便利性,您应该真正考虑设置SSH密钥...

# ssh-keyget -t rsa
(accept all defaults)


,您会得到...

~/.ssh/id_rsa
~/.ssh/id_rsa.pub


侧注:如果添加〜/ .ssh / config,则可以使用以下内容来重命名密钥文件:

# cat ~/.ssh/config
Host *
IdentityFile ~/.ssh/ddopson_employer_id_rsa


为您的公共密钥的内容设置猫名(将是一行):

# cat ~/.ssh/id_dsa.pub
ssh-rsa AAAAB3NzaC1kc3MAAACBAOOVBqYHAMQ8J ... BbCGGaeBpcqlALYvA== ddopson@hostname


现在登录到目标框中,并将该行粘贴到〜/ .ssh /授权密钥。

侧面说明:pubkey行以人类可读的字符串结尾,例如“ ddopson @ hostname”。您可以更改它以更描述您所使用的密钥(例如,如果您有很多密钥)。该字符串不用作身份验证的一部分,仅用于描述其他人的密钥。

就这样。现在,当您SSH到主机时,甚至不会提示您输入密码。

如果您担心存储私钥(id_rsa),则可以在密钥本身中添加一个密码短语(请参阅ssh-keygen),以防止任何有权访问您文件的人使用它。然后,您可以使用ssh-agent解密密钥并将其安全地存储在内存中,以便可以将其用于多个SSH连接。

评论


我应该在我的问题中添加Windows-clients标记。此方法说明了如何使ssh密钥可用于PuTTY。

–乔纳斯·海德堡
2011年10月20日,9:54

您可以使用PuTTY进行完全相同的操作。您可以将密钥添加到PuTTY中,或使用PuTTYgen生成密钥。相同的故事,不同的命令。 (我认为它在连接参数的身份验证选项卡中)。

–戴夫·多普森
2011年10月21日,1:14

#4 楼

密码在传输时已加密。是的,您的密码可能已被泄露,因为它被打印在目标服务器的日志中。但是,我还要说的是,每次在计算机上输入密码时,由于计算机上可能装有间谍软件或键盘记录器,因此可能会受到影响。

如果您是唯一的系统管理员,并且您认为该系统没有受到破坏,那么您可以相对确定地假定您的密码没有受到破坏,就像您通常认为计算机上没有间谍软件一样,因为您没有目睹任何可疑事件。您可以在该服务器上编辑日志并删除对密码的引用。

此事件是使用SSH密钥而不是密码更好的原因之一。然后,即使有人获得了您在计算机上输入的用于解密计算机上的私钥的密码,他们仍然将无法访问远程服务器。他们也需要私钥文件本身。安全是关于层的。没有什么是完美的,但是如果您添加了足够多的层,那么攻击者就很难继续前进,否则会抓住它们,因为这会花费更多时间。

如果您的密码可以保护非常敏感的信息或重要资源。这取决于密码的敏感程度。