【问题标题】:How to check if username is valid on a ssh server [closed]如何检查用户名在 ssh 服务器上是否有效 [关闭]
【发布时间】:2017-05-09 09:32:31
【问题描述】:

如何使用命令行工具检查 ssh 服务器地址中是否存在用户名?例如,我想打字,

isvaliduser [username] [ssh_server]
result: True

其中isvaliduser 是一个神奇的函数,用于测试名称为username 的用户是否存在于ssh_server。但这可行吗?

我的具体应用:我需要访问的远程服务器有一个动态IP(我不能使用动态DNS服务)。我可以提出一个包含我的目标地址的服务器地址列表,但我需要一种方法来确定哪个是我的。我认为这样做的一种方法是测试任何地址是否有用户myusername。但是,如果您对解决我的特定问题有其他建议,我会很高兴听到。

【问题讨论】:

  • 最好的方法是动态 DNS 服务,其中运行在服务器上的程序使用自己的 IP 更新 DNS 记录。
  • @DarkFalcon 不幸的是,动态 DNS 服务不是我的选择
  • 除非您还想尝试登录服务器,否则不会发现用户名在服务器上有效,这可能会带来安全风险,具体取决于您打算如何登录。您当然需要提供更多信息,而不仅仅是用户名。
  • 请记住,ssh 服务器的设计目的是不能泄露有效的用户名,除非您还提供了正确的凭据(密码)来登录。
  • @nos 有没有办法可以使用脚本测试用户和密码组合是否有效?

标签: ssh dynamic-ip


【解决方案1】:

您必须连接到该服务器并检查用户是否在passwd 中,例如:

ssh your_account_at_serve@[ssh_server] grep [username] /etc/passwd

如果您能够在没有身份验证的情况下枚举用户,则被视为信息泄露和安全威胁。

【讨论】:

  • 谢谢,我认为这应该可行。通过使用这种方法,我是否会将自己暴露在安全漏洞中?也就是说,如果我尝试使用我的用户名和密码登录 ssh 服务器,那么另一端的人是否能够记录我尝试使用的名称和密码?
  • 没有。如果您有一个可以登录的帐户,则可以通过这种方式检查其他帐户,而不会出现任何安全问题。
猜你喜欢
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
相关资源
最近更新 更多