如何使用密码自动进行SSH登录?我正在配置我的测试虚拟机,所以没有考虑高安全性。选择 SSH 以获得可接受的安全性,且配置最少。
前任)
echo password | ssh id@server
Run Code Online (Sandbox Code Playgroud)
这不起作用。
我记得我是用一些技巧来做到这一点的,有人指导我,但我现在不记得我使用的技巧了......
如何sudo在 RHEL(Fedora、CentOS 等)或 Ubuntu 发行版上设置无密码访问?(如果跨发行版都一样,那就更好了!)
设置:个人和/或实验室/培训设备,无需担心未经授权的访问(即设备位于非公共网络上,并且任何/所有用户都是完全信任的,并且设备的内容是“普通的”) .
在 Linux (Debian Squeeze) 上,我想对某些用户(选定组或除 root 之外的所有用户)禁用使用密码的 SSH 登录。但我不想为他们禁用使用证书登录。
编辑:非常感谢详细的回答!出于某种原因,这在我的服务器上不起作用:
Match User !root
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
...但可以很容易地替换为
PasswordAuthentication no
Match User root
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud) 这是一个关于 Linux、MacOSX 和 FreeBSD 上的 OpenSSH 客户端的问题。
通常,我使用 SSH 密钥登录系统。
有时,我希望我的 SSH 客户端忽略我的 SSH 密钥并使用密码。如果我使用“ssh 主机名”,我的客户端会提示我输入 SSH 密钥的密码,这很烦人。相反,我希望客户端简单地忽略我的 SSH 密钥,这样服务器就会询问我的密码。
我尝试了以下操作,但仍然提示我输入 SSH 密钥的密码。在此之后,系统会提示我输入密码。
ssh -o PreferredAuthentications=password host.example.org
Run Code Online (Sandbox Code Playgroud)
我想在客户端执行此操作,而无需对远程主机进行任何修改。
我刚刚尝试使用 SSH(PuTTY、Windows)登录Fedora(第 13 版 Goddard)服务器。出于某种原因,Enter输入我的用户名后没有通过,我输入了密码并再次按 Enter 键。当服务员热情地迎接我时,我才意识到我的错误
myusername MYPASSWORD @server.example.com 的密码:
此时我断开了连接并更改了该机器上的密码(通过单独的 SSH 连接)。
...现在我的问题是:这种失败的登录是否以纯文本形式存储在任何日志文件中?换句话说,我是否只是在远程管理员下次扫描他的日志时将我的(现在已经过时的)密码强加给他?
更新
感谢您对隐含问题“将来如何防止这种情况发生”的所有评论。为了快速、一次性的连接,我现在将使用这个 PuTTY 功能:

替换原来的“自动登录用户名”选项

我还将开始更频繁地使用 ssh 密钥,如PuTTY 文档中所述。
我们有各种密码,需要让公司中的多个人知道。例如,我们互联网路由器的管理员密码、我们网络主机的密码,以及一些“非 IT”密码,如安全代码。
目前,我们对低价值系统使用“标准密码”的临时系统,对更重要/可能具有破坏性的系统使用口头共享密码。我想大多数人都会同意这不是一个好的系统。
我们想要的是一种用于存储“共享”密码的软件解决方案,每个密码的访问权限仅限于真正需要它的人。理想情况下,这将提示或强制定期更改密码。它还应该能够指示谁有权访问特定密码(例如,谁知道服务器 XYZ 的根密码?)
您能推荐任何用于存储和共享密码的软件解决方案吗? 有什么特别需要注意的吗?
中小型公司对此的常见做法是什么?
我喜欢通过密钥访问服务器的想法,这样我就不必每次ssh进入一个盒子时都输入我的密码,我什至锁定了我的用户(不是root)密码(passwd -l username),所以没有密钥就不可能登录。
但是如果我需要为sudo命令输入密码,所有这些都会中断。所以我很想设置无密码sudo来使事情符合无密码登录。
然而,我一直有一种直觉,它可能会以某种意想不到的方式对我产生适得其反的效果,它似乎有点不安全。这样的设置有什么注意事项吗?您是否建议/不建议为服务器上的用户帐户执行此操作?
澄清
sudo在交互式用户会话中的使用,而不是用于服务或管理脚本sudo有一个超时,在此期间我不必重新输入我的密码。但我的音乐会并不是为了浪费额外的时间来实际输入密码。我的想法是根本不必处理密码,因为我认为:
sudo. 我希望我能避免这种情况。因此,通过这个问题,我想更好地了解一种可能配置相对于其他配置的风险、警告和权衡。
跟进 1
所有的答案都说无密码sudo是不安全的,因为如果我的个人用户帐户受到威胁,它允许“轻松”提升权限。我明白那个。但另一方面,如果我使用密码,我们会承担密码的所有经典风险(太短或太常见的字符串,在不同的服务中重复等)。但是我想如果我禁用密码验证/etc/ssh/sshd_config以便您仍然必须有一个密钥才能登录,我可以使用更简单的密码只是为了sudo更容易输入?这是一个有效的策略吗?
跟进 2
如果我也有root通过 ssh登录的密钥,如果有人可以访问我的计算机并窃取我的密钥(尽管他们仍然受操作系统的密钥环密码保护!),他们也可以直接访问该root帐户,绕过sudo路径。那么访问该root帐户的策略应该是什么?
显然,鉴于我们这里有多少人是系统管理员类型的人,我们在众多系统和帐户中串列了大量密码。其中一些是低优先级的,其他的如果被发现可能会对公司造成严重损害(你不只是喜欢权力吗?)。
简单、容易记住的密码是不可接受的。唯一的选择是复杂、难以记住(和输入)的密码。那么,您使用什么来跟踪密码?您是否使用程序为您加密它们(依次需要另一个密码),或者您是否做一些不那么复杂的事情,例如随身携带的一张纸,还是介于这些选项之间?
当我在本地工作时,我真的不需要输入密码来访问我的数据库。我在第一次安装 MySQL 时更改了我的 root 密码,但我不知道如何将密码改回来。我该怎么办?
是的,我可以启动虚拟机或远程设备并尝试输入密码……我知道……但是有没有一种工具或脚本可以模拟登录,足以确认或否认密码正确?
设想:
服务器服务帐户的密码被“忘记”...但我们认为我们知道它是什么。我想将凭据传递给某些东西,并让它以“正确的密码”或“不正确的密码”反击。
我什至想过一个驱动器映射脚本,其中传递了该用户帐户和密码,以查看它是否成功映射了驱动器,但在使其正常工作的逻辑中迷失了......类似于:
-Script 通过 msgbox 请求用户名 -script 通过 msgbox 请求密码 -script 尝试将驱动器映射到每个人都可以访问的公共共享 -script 如果成功则取消映射驱动器 -script 返回弹出 msgbox 说明“正确密码”或“不正确”密码”
任何帮助表示赞赏......你会认为这将是一种罕见的情况,不需要工具来支持它但是......好吧......