SSHD 配置中有一个 Match 组:
cat /etc/ssh/sshd_config
...
Match Group FOOGROUP
ForceCommand /bin/customshell
...
Run Code Online (Sandbox Code Playgroud)
机器上有许多用户在“FOOGROUP”中。
我的问题:如何从“匹配组”中排除“FOOGROUP”中的给定用户?
Match Group GROUPNAME, User *,!root
Run Code Online (Sandbox Code Playgroud)
Match Group GROUPNAME User !root
Run Code Online (Sandbox Code Playgroud)
我的问题: SSHD_CONFIG 中的#1 和#2 有什么区别?
我正在使用 @GarethTheRed 对这个问题的回答在远程 CentOS 7 服务器上安装 fail2ban。我能够完成所有步骤,直到tail -f /var/log/fail2ban.log,此时我得到的结果与他在回答中得到的结果不同。
这是我在这一步得到的结果:
[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'
Run Code Online (Sandbox Code Playgroud)
在最后一行之后,我只得到一个光标,但没有命令提示符,除非我输入Ctrl-C.
当我输入时systemctl status fail2ban,它告诉我它fail2ban处于活动状态。当我退出系统并稍后重新登录时,sshd告诉我自上次登录以来有很多登录尝试失败。所以应该有fail2ban日志。但我似乎无法找到它们。
有人可以告诉我如何设置此设置以便fail2ban生成我可以跟踪的日志吗?
我正在尝试将相同的sshd设置应用于多个用户。
根据手册,它似乎Match User像一个AND:
引入条件块。如果
Match满足该行中的所有条件,则以下行中的关键字将覆盖在配置文件的全局部分中设置的那些
我如何状态“为这些用户......”,所以在这个例子中bob,joe和phil被允许使用SSH作为代理,但不允许登录:
Match User bob, User joe, User phil
PasswordAuthentication yes
AllowTCPForwarding yes
ForceCommand /bin/echo 'We talked about this guys. No SSH for you!'
Run Code Online (Sandbox Code Playgroud) 假设我有一台机器(Arago dist),用户密码为 12 个字母数字字符。当我使用密码身份验证通过 ssh 登录时,几天前我注意到,我只能输入 8 个密码字符或整个密码,然后输入我想要的任何内容。这两种情况下的共同结果是成功登录。为什么会这样?
在这种特殊情况下,我不想基于多种原因使用公钥身份验证。
作为附加信息,在此发行版中缺少文件/etc/shadow和/etc/security/policy.conf。
这里是服务器 ssh 配置:
[user@machine:~] cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. …Run Code Online (Sandbox Code Playgroud) 我有以下用例:
我可以让 sshd 在不同的端口上运行,例如:
为了增加安全性,我希望将 sshd 配置为仅允许端口 X 上的特定用户访问(然后配置一些警报,以便我们可以知道用户何时通过端口 X 登录)。
但是,我在 sshd 文档中找不到任何这样的配置。如果没有这样的解决方案,是否至少可以在有人在端口 X 上完成 sshd 登录时触发 shell 脚本运行?我正在查看 iptables 文档,看看它是否可以在 sshd 登录时触发警报但无法提出任何内容。
输入赞赏
我正在查看我的 sshd_config 文件,我发现了这个:
#Uselogin no
Run Code Online (Sandbox Code Playgroud)
我知道它被评论过,但上面没有解释,当我用谷歌搜索时,我得到了这个:
不要使用传统的 login(1) 服务来登录用户。因为我们使用了权限分离,所以一旦用户登录,login(1) 服务就被禁用了。
或者
指定 login(1) 是否用于交互式登录会话。默认值为“否”。请注意,login(1) 永远不会用于远程命令执行。另请注意,如果启用此选项,X11Forwarding 将被禁用,因为 login(1) 不知道如何处理 xauth(1) cookie。如果指定了 UsePrivilegeSeparation,则认证后将禁用它。
据了解,no阻止 ssh 使用“传统登录”,但我找不到有关“传统”登录的任何信息。
有人能解释一下它的作用吗?
在下面的例子中,通道号对应什么?服务器上有哪些?哪些在客户端?
$ ssh -L1570:127.0.0.1:8899 root@thehost
Password:
Last login: Fri Aug 9 13:08:44 2013 from theclientip
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have new mail.
# channel 2: open failed: administratively prohibited: open failed
channel 3: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed
Run Code Online (Sandbox Code Playgroud)
ssh 客户端在 Windows 7 上运行,服务器有一个在端口 8899 上运行的 Tomcat 服务器。
Tomcat 没有在远程机器上监听 127.0.0.1,所以如果我将命令更改ssh -L1570:thehostpublicip:8899 root@thehost为端口转发工作。所以我知道端口转发似乎在服务器上工作得很好。
我的 sshd 配置文件包含以下两行:
# Port forwarding
AllowTcpForwarding yes
# If port forwarding …Run Code Online (Sandbox Code Playgroud) 我想在通过 ssh 登录时提供登录延迟。我尝试了几种方法来做同样的事情,但找不到想要的结果。
我尝试了给定链接提供的步骤。
http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables
iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP
Run Code Online (Sandbox Code Playgroud)
我的机器上没有安装pam模块,所以不能做任何与pam文件相关的修改
那么任何机构让我建议一些其他方法来做同样的事情?
我有在嵌入式平台上运行的裸 Linux 内核。
在尝试启动 ssh 服务器守护程序时,我收到有关缺少主机密钥的错误,但是,查看后/etc/ssh发现主机密钥在那里,并且我相信权限是正确的。
这是嵌入式 Linux 系统上的 OpenSSH 8.3p1。
\n对我的 OpenSSH 配置有什么问题有什么想法吗?
\n~> ls -l /etc/ssh\ntotal 529\n-rw-r--r-- 1 root root 525809 Mar 30 15:16 moduli\n-rw-r--r-- 1 root root 1484 Mar 30 15:16 ssh_config\n-rw------- 1 root root 1369 Mar 30 19:02 ssh_host_dsa_key\n-rw-r--r-- 1 root root 600 Mar 30 19:02 ssh_host_dsa_key.pub\n-rw------- 1 root root 505 Mar 30 19:02 ssh_host_ecdsa_key\n-rw-r--r-- 1 root root 172 Mar 30 19:02 ssh_host_ecdsa_key.pub\n-rw------- 1 root root 399 Mar 30 19:02 ssh_host_ed25519_key\n-rw-r--r-- 1 root root …Run Code Online (Sandbox Code Playgroud)