Articles of ssh

如何使用PAM来限制IP失败的login尝试?

我正在通过一个强化我的服务器安全性的过程来防止将服务器附加到IP并给它一个域名时出现的每日黑客攻击。 我可以每天从1到8次的暴力破解试图以root身份或者蛮力尝试不同的名字来访问SSH,而这是在没有公开声誉的服务器上运行(它没有运行任何大型网站等)。 由于我configuration了我的SSH服务器的方式,我敢肯定,这些尝试也将失败,但我真的不喜欢让别人尝试。 当然,我也为包括SSH在内的更敏感的服务设置了连接速率限制。 我现在在做什么: 我可以从我的auth.log中看到, PAM确实获得了那些试图login的远程IP地址,而且我正在使用一个脚本,它定期扫描这些失败的尝试,并添加一个IP阻止防火墙。 我想要做什么: 我想要做的是使这个IP禁止过程更快地做出回应。 这不是等待轮询脚本来接收它,我想要一个PAM模块来计算从IP(而不是服务或用户)连续失败的尝试,并采取一些行动,如: 拒绝来自该IP的所有未来login尝试 发出一个命令,将添加一个规则到防火墙,以完全禁止IP 问题: 是否已经有一个很好的PAM模块可以注意到IPauthentication失败,或者我需要自己写吗?

有关丢失的SSH密钥的理论情况

但是,这并没有发生在我身上。 但是让我们假设以下情况: 我将我的公钥复制到服务器上,然后禁用ssh的密码validation。 然后,由于某种未知的原因,服务器上的公钥被损坏,并且由于closures了密码validation,我无法再login。 我有什么select重新获得访问该服务器?

即使使用绝对path也无法在后台使用autossh

我很想设置autossh启动运行,将其添加到/etc/rc.local 。 这个命令的作用: autossh -i /root/.ssh/id_rsa -R 2522:localhost:22 user@address 但是,如果我添加-f选项 autossh -f -i /root/.ssh/id_rsa -R 2522:localhost:22 user@address ssh会话没有启动。 正如你所看到的,我正在使用我的身份文件的绝对path,所以这似乎是一个不同于这里所述的问题: 在后台autossh不起作用 从/var/log/syslog : Oct 18 11:08:39 raspberrypi autossh[2417]: starting ssh (count 1) Oct 18 11:08:39 raspberrypi autossh[2417]: ssh child pid is 2418 Oct 18 11:08:39 raspberrypi autossh[2417]: ssh exited with status 0; autossh exiting 我使用它与debian wheezy在树莓派,autossh版本1.4C。 […]

限制ssh到本地networking,除了git用户

我有一个与Gitlab和OpenVPN设置的Ubuntu 12.04服务器,作为我们的git和vpn服务器。 目前我已经在防火墙中打开了1194端口来打开OpenVPN,让用户通过rsa证书和谷歌authentication密钥进行身份validation。 我还没有为SSHstream量打开防火墙,因为我不希望SSH完全暴露给广域网。 但是,我们需要能够推拉,而不必连接到VPN。 如何才能打开SSH访问只有有限的git用户,同时允许pipe理员从局域网访问服务器? 我怀疑我应该在sshd_config文件中寻找使用匹配组的方向。 正如在这个问题中所看到的:“ 我如何设置OpenSSH每用户身份validation方法? ”,有没有人有这方面的经验? 编辑: 我最初接受了使用access.conf来限制login访问的答案。 但是后来的答案表明,在sshd.conf中也可以通过匹配指令或使用username @ hostaddress语法来实现。 起初我认为我更直观的把它放在sshd中,而且对其他pipe理员来说可能更容易维护和理解。 在sshd.conf上使用access.conf有什么好处吗? 如果我在这里提到的选项的范围是多么直观,我会说:1. sshd.conf 2. access.conf 3. IpTables 你同意吗?

我怎样才能得到开放的SSH隧道列表?

我怎样才能得到开放的SSH隧道列表? 我正在使用连接到FreeBSD服务器的Mac OS X客户端。 我试图查询客户端上的开放隧道。

Ubuntu 10.10上的OpenSSH(Maverick):应该自动生成〜/ .ssh / authorized_keys文件吗?

我正在使用本指南设置公钥authentication: https : //help.ubuntu.com/community/SSH/OpenSSH/Keys 。 文档讲述了~/.ssh/authorized_keys文件,但是没有~/.ssh/authorized_keys文件是我的主目录。 该文件是否应该自动生成? Maverick sshd手册页不指定在安装OpenSSH时是否创build文件,或者是否应该手动创build文件。 我只是想知道,如果没有这个文件是正常的,我自己创build。

SSH仍然接受密码authentication,尽pipe被configuration为公钥authentication(这是可行的!)

我已经configuration了Ubuntu 10.04LTS桌面安装,只允许公钥authentication。 结果:公钥authentication工作完美! 问题:问题是,尽pipe被configuration为只接受公钥authentication,客户端仍然接受密码authentication – 为什么? 当然可以使用一些build议,因为我已经看到并遵循这里的build议: ssh:设置密钥后仍然可以使用密码 遵循这些build议后没有成功: chmod 700 /home//.ssh chmod 600 /home//.ssh/authorized_keys 添加到/ etc / ssh / ssh_config: PasswordAuthentication no ChallengeResponseAuthentication no 重启sshd(命令:/ usr / sbin / service ssh restart)。 客户端的/ etc / ssh / ssh_config显示如下: # This is the ssh client system-wide configuration file. See # ssh_config(5) for more information. This […]

rsync:getcwd():没有这样的文件或目录(2)

我想将Server1和Server2的日志同步到LogServer 。 对于Server1 : rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/ 这一个工程,但对于Server2 : rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/ 它失败: shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error […]

服务器上无法识别的SSH访问?

我从Digital Ocean运行一个基本的Ubuntu服务器,我使用一个SSH密钥(存储在我的桌面上)访问。 我刚刚运行netstat -ap ,结果如下: Local Address Foreign Address State PID XX.XXX.XX.192 183.214.141.105:53929 ESTABLISHED 25193/sshd: root [p 这不是我,我搜查了这个知识产权,是在一些被禁止的名单下,来自中国。 我的问题: 1)作为国家是'ESTABLISHED',这是否意味着他们有通过SSH访问我的服务器? 还是这个蛮力试图进入? 2)我的服务器如何被入侵? 我不知道蛮力可以在SSH密钥上工作吗? 他们不需要在我的桌面上访问我的密钥吗?

如何使ssh匹配主机/ IP:端口而不是主机/ IP?

我有两台机器在防火墙后面,ssh端口转发到2201和2202。 当我 ssh host -p 2201 它询问我是否信任机器,我说是的,它被添加到〜/ .ssh / known_hosts 然后我 ssh host -p 2202 它不允许我,因为在~/.ssh/known_host:1有一个这个IP的入口~/.ssh/known_host:1 (我开始的时候这个文件是空的,所以第一行是前面ssh运行时添加的那个)。 这发生在CentOS 5.4上。 在其他的发行版(我试过Arch)看来,ssh也将known_hosts与端口匹配,所以我可以在同一台主机/ ip上为多个端口设置多个指纹,而不会出现任何问题。 我怎样才能得到CentOS的同样的行为? 我找不到任何man ssh_config (或至less不禁用指纹检查)。 我find了一个临时解决scheme。 如果known_hosts文件对于同一个IP有多个条目,它将在结束之前检查它们全部是错误的。 但我真的很讨厌这个解决scheme。