我最近不得不使用一些具有 IPv6 连接的服务器,我惊讶地发现 fail2ban 不支持 IPv6,denyhosts 也不支持。在谷歌上搜索我发现人们普遍推荐:
从我目前收集到的信息来看,禁止在 IPv6 中使用地址与在 IPv4 中有点不同,因为 ISP 不会为用户提供单个地址 (/128),而是整个子网(我目前有一个 /48)。因此,禁止单个 IPv6 地址对攻击无效。我在 ip6tables 和 sshguard 阻止子网攻击检测的主题上进行了高低搜索,但我没有找到任何信息。
有谁知道 sshguard 是否禁止子网进行 IPv6 攻击?
有谁知道如何进行 ip6tables 配置来禁止 IPv6 攻击的子网?
或者有没有人知道比我已经发现的更好的减轻攻击的方法?
PS:我在系统上使用 CentOS 7。
当我通过 SSH 登录到我的家用 Linux 机器时,我每分钟都会收到几次以下调试输出:
debug2: channel 0: request window-change confirm 0
Run Code Online (Sandbox Code Playgroud)
当我在 nano 中编辑文件时,调试消息显示在文本顶部。要删除调试消息,我必须关闭 nano,执行clear,然后重新打开文件。无论我使用的是 Secure Shell(Google Chrome 扩展程序)、PuTTY 还是 Terminator(来自本地机器),我都会得到这个,尽管前两者要差得多。
有没有办法抑制这些消息?执行会执行sshd -q吗,还是在编译过程中指定了调试输出级别?
这是ssh 端口转发的扩展,可以从任何地方访问我的家用机器
我尝试了那里提到的事情,但我无法ssh使用我的机器。
用于端口转发的 Netgear 路由器设置:
Start Port: 22
End Port: 22
Server IP Address: IP address of by FreeBSD box
Run Code Online (Sandbox Code Playgroud)
/etc/ssh/sshd_conf 我的 FreeBSD 盒子:
PasswordAuthentication yes
AllowUsers root
X11Forwarding yes
AllowTcpForwarding yesRun Code Online (Sandbox Code Playgroud)
我如何尝试连接:
我已经注册dyndns.com并获得了一个映射到我的外部 IP 地址的 URL。
在我家庭网络中的另一台机器上,我这样做:
ssh -l root my_dyndns_ip
这只是超时。
另一方面,我可以my_dyndns_url成功ping通。
调试:
我该如何解决这个问题,以便我可以ssh从任何地方到达my_dnydns_url?
我试图查看我的 Netgear 路由器的日志,但是在 ssh 尝试失败时,路由器上没有生成登录。
我也调查过,/var/log/messages但找不到任何东西。
编辑:0 以详细模式运行 ssh(按照@jasonwryan 的建议):
我注意到一件奇怪的事情:当我对 dyndns.com 提供的 url 执行 ssh 时,它试图连接到其他 …
当我的连接空闲一段时间后,远程主机关闭连接。我尝试键入一个新命令,它挂起,然后关闭连接。如何让 ssh 连接保持更长时间的活动状态?
$ ssh root@host.com
Last login: Tue Jan 3 03:09:39 2017 from c-99-99-99-99.hsd1.xx.comcast.net
[root@ip-172-99-99-99 ~]# groups
root bin daemon sys adm disk wheel
[root@ip-172-99-99-99 ~]# users
root root
[root@ip-172-99-99-99 ~]# less /etc/passwd
[root@ip-172-99-99-99 ~]# Connection reset by 52.99.99.99 port 22
Run Code Online (Sandbox Code Playgroud)
远程是 Amazon (AWS) 上的 CentOS,本地是 Cygwin。
我MaxAuthTries在我的 Linux 机器上设置为 1。然后我尝试ssh从本地网络上的另一台机器进入我的 Linux 机器,但它没有说“ Too many authentication failures”。
我假设这是因为我在设置时遇到了一些失败,并且它们仍然计入总数。
该man页面说:
MaxAuthTries指定每个连接允许的最大身份验证尝试次数。一旦失败次数达到此值的一半,就会记录更多失败。默认值为 6。
什么被认为是连接?这是否意味着您只能MaxAuthTries从某个 IP 地址获取?这是指TCP连接吗?如何终止连接以便我可以创建一个新连接并ssh再次尝试?
我正在尝试向服务器添加公钥,但我不想重新启动 sshd 服务以使其生效。原因是重新启动 ssh 服务似乎对当时可以使用 ssh 服务的其他用户造成破坏。大多数文档建议添加一个公钥$HOME/.ssh/authorized_keys,然后重新启动sshd服务 ( systemctl restart sshd)。感兴趣的操作系统是 Linux。
我的问题是:
sshd需要重启吗?sshd是重启,那个时候有没有服务中断?sshd在添加新公钥后重新启动服务$HOME/.ssh/authorized_keys?是否有任何机制可以通过 SSH 转发对 U2F/FIDO 安全密钥(例如 Yubikey)的访问?我希望能够使用本地安全密钥来授权远程主机上的 sudo 访问。
我正在为 sftp 设置 chroot,并使用了教程的组合(source1、source2),最终得到了以下配置/etc/ssh/sshd_config:
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory /var/sftp/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
sftp 基本文件夹/var/sftp和用户创建如下:
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory /var/sftp/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试登录时,我最终会进入该/var/sftp文件夹,该文件夹演示了登录的工作原理。
由于我希望用户最终进入该文件夹,因此我尝试在该行下/var/sftp/<userid>设置以下配置:sshd_configMatch Group
ChrootDirectory /var/sftp/%u
Run Code Online (Sandbox Code Playgroud)
client_loop: send disconnect: Broken pipe当我这样做时,我在尝试登录时收到错误。根据ssh_config变量应该被接受的手册页,如下:
ChrootDirectory 接受标记 %%、%h 和 %u。
有任何想法吗?
环境:
关于/etc/ssh/sshd_config 在指定范围内Banner /etc/issue
由于在输入 SSH 登录值后才会显示 SSH 横幅,
是否可以根据为 SSH 登录输入的用户名显示不同的(唯一的)横幅?
或者是否可以根据连接的 IP 地址使用特定的横幅?
在 RHEL/CentOS 7.8 中使用的 SSH 版本是否有可能以某种方式实现?
显然 Fedora 35 没有在 HostKeyAlgorithms 或 PubkeyAcceptedKeyTypes 中列出 ssh-rsa,因此尝试从旧的 CentOS 6 机器进行 ssh 会产生错误:
$ ssh as1s16.intra.corp.us
no hostkey alg
Run Code Online (Sandbox Code Playgroud)
所以我在 /etc/ssh/sshd_config 中的 Include 之后添加了选项:
Include /etc/ssh/sshd_config.d/*.conf
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
Run Code Online (Sandbox Code Playgroud)
但同样的错误。然后我像这样运行 sshd :
# /usr/sbin/sshd -ddd
...
debug3: /etc/ssh/sshd_config:20 setting HostKeyAlgorithms +ssh-rsa
debug3: /etc/ssh/sshd_config:21 setting PubkeyAcceptedKeyTypes +ssh-rsa
...
debug1: SELinux support disabled [preauth]
...
debug3: append_hostkey_type: ssh-rsa key not permitted by HostkeyAlgorithms [preauth]
debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
Run Code Online (Sandbox Code Playgroud)
但同样的错误。然后我删除了运行 sshd 的选项,如下所示:
# /usr/sbin/sshd -ddd -oHostKeyAlgorithms=ssh-rsa
Run Code Online (Sandbox Code Playgroud)
它起作用了。我能够从 CentOS 6 客户端成功 ssh …