在我的一台服务器上,我注意到 SSH 登录确实有延迟。
使用 ssh -vvv 选项连接延迟发生在 debug1: Entering interactive session.
连接摘录:
debug1: Authentication succeeded (publickey).
Authenticated to IP_REDACTED ([IP_REDACTED]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
Run Code Online (Sandbox Code Playgroud)
使用此处概述的方法,我生成了 strace 输出并注意到14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) …
如何在管理员级别在 Debian Squeeze 中打开 PAM 调试?
我已经检查了我能找到的所有资源。谷歌,联机帮助页,等等。我还没有尝试过的唯一一件事(我根本不敢尝试,我有没有提到我讨厌 PAM?)是深入研究 PAM 的库源。
我试图谷歌寻找解决方案,什么都没有。到目前为止我发现了什么:
http://www.bitbull.ch/wiki/index.php/Pam_debugging_funktion(/etc/pam_debug
)和
http://nixdoc.net/man-pages/HP-UX/man4/pam.conf.4.html(debug
对PAM项选项在/etc/pam.d/
)。
不,不起作用。 没有 PAM 输出,什么都没有,绝对安静。
在寻找解决方案时,我什至点击了 Pam 的链接,即德国的加油站。嗯,是的,也许在所有这些十亿次点击中可能隐藏着一个线索,但是开枪打我我会在我发现之前就死了。
休息是仅供参考:
我遇到了什么问题?
升级到 Debian Squeeze 后,有些东西变得很奇怪(好吧,嘿,它曾经是,呃,Etch 上的东西……啊,是的,Woody)。所以这可能不是 Debian 的错,只是一个长期存在的错误设置。我立刻有印象它必须与 PAM 做一些事情,但我真的不知道发生了什么。我完全在黑暗中,独自一人,像婴儿一样无助,YKWIM。有些 ssh 登录有效,有些则无效。这有点好笑。没有线索ssh -v
,没有线索/var/log/*
,什么都没有。只是“身份验证成功”或“身份验证失败”,有时同一用户同时登录一个会话成功,而另一个会话失败。没有什么是你真正可以掌握的。
在挖掘了大量其他选项后,我能够找到答案。有nullok
和nullok_secure
,这是Debian 的特色。某些事情搞砸了/etc/securetty
,取决于tty
(有点随机)登录是否被拒绝。真的很好,呸!
修复很容易,现在一切都很好了。
然而,这给我留下了一个问题,未来如何调试这样的烂摊子。这不是 PAM 第一次让我发疯。所以我想看到一个最终的解决方案。“已解决”中的最终结果,而不是“世界末日”中的最终结果。谢谢。
啊,顺便说一句,这再次坚定了我的信念,即自从 PAM 出现以来,讨厌它是件好事。我提到过吗?
我有用于运行网络服务器的 vps,它目前运行 ubuntu 服务器 12.04。几周以来,我的 ssh 控制台中不断出现很多错误。
2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring …
Run Code Online (Sandbox Code Playgroud) 在我正在初始化的 VM 上,我能够以一个非 root 用户 ( admin
) 的身份登录,但不能以另一个 ( tbbscraper
) 身份通过 SSH 使用公钥身份验证登录。我可以在任何日志文件中找到的唯一错误消息是
Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]
Run Code Online (Sandbox Code Playgroud)
在客户端,该综合症是
$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by …
Run Code Online (Sandbox Code Playgroud) 我使用双因素身份验证管理服务器。输入普通服务器密码后,我必须使用Google Authenticator iPhone应用程序获取6位验证码才能输入。此处描述了设置:http : //www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html
我想要一种仅使用我的笔记本电脑而不是我的 iphone 来获取验证码的方法。必须有一种方法可以为命令行应用程序生成这些验证码,并为您提供当前 30 秒窗口的代码。
有没有程序可以做到这一点?
从失败的恶意 SSH 尝试中可以学到什么关于“用户”的信息?
/var/log/secure
)/var/log/secure
)有没有其他提取方法?无论是隐藏在日志文件中的信息、随机技巧还是来自 3rd 方工具等。
在过去的几天里,我设置了一些带有 LDAP 身份验证的 Linux 系统,一切正常,但是经过大量研究,我仍然无法真正理解 NSS 和 PAM。
引用:
NSS 允许管理员指定将存储和搜索身份验证文件、主机名和其他信息的源列表
和
PAM 是一组库,为应用程序和底层操作系统提供可配置的身份验证平台
我不明白的是 PAM 和 NSS 如何一起工作和交互。在这本书的架构是解释得很好:我PAM配置为使用pam_ldap
LDAP的帐户和pam_unix
本地帐户,然后我配置nsswitch.conf
来从本地文件和LDAP信息。
如果我理解正确,LDAP 使用了两次:首先pam_ldap
由 NSS使用,然后由 NSS 调用,它本身从pam_unix
. 那正确吗?LDAP 真的使用了两次吗?但是为什么我需要同时配置 NSS 和 PAM?我的解释是 PAM 执行与 NSS 不同的任务,它被其他程序使用。但是,正如我在本页中所读到的那样,应该可以仅使用 NSS 或仅使用 PAM 。
所以我进行了一些试验,我首先尝试从nsswitch.conf
(并且身份验证停止工作,好像只有 pam_ldap 不足以完成这项工作)中删除 LDAP 。然后我在 NSS 中重新启用了 LDAP,并从 PAM 配置中删除了它(这次一切正常,好像pam_ldap
没用一样,而且 NSS 足以验证用户的身份)。
有没有人可以帮我澄清一下?提前谢谢了。
我现在刚刚尝试了一些东西。我再次删除了所有pam_ldap
pam 配置字段中的所有条目,并且还shadow: ldap
从 …
我正在一个新机器上为 SSH 设置基于密钥的身份验证,并且正在阅读一些提到设置UsePAM
为no
与PasswordAuthentication
.
我的问题是,如果您已经拥有并设置为UsePAM
,no
那么设置为的目的是什么?PasswordAuthentication
ChallengeResponseAuthentication
no
我正在尝试为 ubuntu 机器上的所有用户提高打开文件描述符的最大值。
这个问题有点像这个问题的后续。
即使需要 pam_limits.so,ulimit 也不会读取打开的文件描述符limits.conf 设置
除了我在limits.conf中添加了所需的“root”条目
这是条目
* soft nofile 100000
* hard nofile 100000
root soft nofile 100000
root hard nofile 100000
Run Code Online (Sandbox Code Playgroud)
相关的pam_limits.so
行在 /etc/pam.d/ 中的所有相关文件中已取消注释,并fs.file-max
已在 /etc/sysctl.conf 中正确设置
然而,我仍然看到
abc@machine-2:/etc/pam.d$ ulimit -n
1024
Run Code Online (Sandbox Code Playgroud)
重启后。
可能是什么问题呢?
我的默认 shell 是 /bin/sh 并且我不能使用 chsh 来更改我的默认 shell,因为我的机器上的用户是通过某种分布式身份验证方案进行身份验证的。
我正在使用 Ubuntu 10.04 服务器。