Articles of ssh

简单的多层次authenticationsudo

我有一个基于密码的SSH启用的FreeBSD服务器。 我想启用sudo ,但是我不希望潜在的攻击者成为root访问的一个密码。 我目前的解决scheme是使用公共密钥以root身份login(远程密码身份validation已针对root进行禁用),并且我的普通用户不在wheel中,并且未安装sudo 。 在过去,我使用一次性密码进行sudo访问(我可以公开密钥进入系统,但sudo需要一个OTP,并有30分钟的超时时间让我实际上完成工作,而无需重新authentication所有时间)。 这是一个相当大的麻烦,但是,至less与OPIE / S / Key。 使用硬件令牌可能是好的,但在这一点上我没有。 我一直在寻找的东西,可以让我通过代理转发使用SSH公钥validationsudo。 包含在FreeBSD中的pam_ssh似乎没有这样做 – 它只通过查看用户是否可以解密服务器上的私钥来进行身份validation。 我find了pam_ssh_agent_auth ,但是我在其他地方find很less的引用。 现在是0.9,但是我有点犹豫,相信网关根植于一个程序,我找不到很多人实际使用的证据。 所以,我的问题基本上是2: pam_ssh_agent_auth在野外使用和可靠吗? 有没有另一个很好的解决scheme来启用sudo,同时仍然有屏障通过login密码? 我以为有sudo访问和没有密码authentication的第二个帐户,但这也似乎有点麻烦。

有没有什么办法使用会话多路复用(控制大师)从Windows?

在我们的Repository服务器上添加一个ControlMaster到ssd / config文件(创build套接字?)导致传输速度从平均大约2.5秒增加到平均0.05秒。 传输速度在存储库系统和我们的Web服务器之间。 现在我想应用相同的性能增益的Windows – >存储库连接。 我们目前使用Tortoise通过SSH进行连接,并且我在wikipedia上读到了Putty本身不会支持会话复用的情况。 我知道还有其他的SSH工具的function,也为Windows,但我想知道如果使用这些,如果我遇到的问题与Mercurial兼容性使用SSH连接,现在我相信它使用Plink来处理SSH隧道。 我正在寻找在与Mercurial兼容的Windows上启用会话复用的任何选项。

计算SSH会话?

我有时会在auth.log中find以下消息: sshd[8888]: error: no more sessions 在sshd_config中,我设置了“MaxStartups 300”,我不应该有几乎同时连接的客户端。 在繁忙的时候,我想我可以有大约50-60个并发连接,只需要几秒钟就可以通过sftp上传/下载一个小文件。 我怀疑有些客户可能不会按照他们的要求closures连接,而且由于连接频繁(每个客户端每分钟连接几次)连续发生,可能会随着时间的推移而累加。 为了解决这个问题,我希望能够计算SSH会话,但我不能想到比使用netstat计数连接更好的方法: netstat -an | grep 123.456.789.abc:22 | wc -l 因为这会计算连接,而不是会话,我不确定是否有会议将生活的情况下,但连接是封闭的? 有没有更好的方法来计算当前连接,甚至更好地打印所有会话的当前状态? 提前致谢!

使用@ hostname.com时ssh连接速度慢,但使用@ipaddress时不会

当使用ssh连接到Debian服务器时,如果使用[email protected](服务器的IP地址),连接是即时的。 但是,如果使用[email protected](将DNSredirect到服务器的IP地址),则连接成功之前,ssh连接将挂起20秒。 ssh日志显示如下: [alex@alex home]$ ssh -v -v [email protected] OpenSSH_5.5p1, OpenSSL 1.0.0c-fips 2 Dec 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 在这里它持续20秒钟之前挂起。 我认为这可能与反向DNS或类似的东西有关(服务器并不真正“知道”它的名字是hostname.com,它只是将DNSredirect到它的IP地址)。 我已经将以下选项添加到/ etc / ssh / sshd_config中: UseDNS no GSSAPIAuthentication no 没有效果。 /etc/resolv.conf中的服务器DNSloggingconfiguration正确: ping hostname.com PING sub.domain.com (XXXX) 56(84) bytes of data. 64 bytes from […]

什么是build议的SSH密钥设置?

我正在阅读在SSH中使用的algorithm ,我试图找出哪一个是当前的“推荐”,或者至less是哪个目标受众。 我应该确保我的SSH密钥是1.0兼容? 我应该使用1024位还是2048? 是2048慢两倍? 对于敏感用途来说有些更好 – 而其他用于不断的数据传输?

pipe理EC2实例之间的SSH密钥

我似乎有越来越多的EC2实例,并且都运行良好,花花绿绿。 然而,我正面临的一个问题就是搞清楚在机器之间进行SSH连接的策略。 通过我的私钥复制到每个实例是反生产性的,并且当我需要从我的个人计算机进行SSH访问时,它工作正常,但是当我需要从一台机器到另一台机器间的SSH时,无法正常工作。 有什么体面的战略来解决这个问题? 如何在您的EC2实例集群之间进行SSH连接?

Archlinux和openssh

我需要安装一个Archlinux VPS openssh,一切都运行平稳,除非我不能ssh进入。 我注意到openssh没有安装,所以我看着说这样做的维基: pacman -S openssh 我这样做,但它开始给我错误,它无法find镜子上的openssh-5.8p2-9-x86_64.pkg.tar.xz error : failed retrieving file 'openssh-5.8p2-9-x86_64.pkg.tar.xz' from artfiles.org : No address record 我添加了更多的镜像,但仍然有同样的错误。 我究竟做错了什么 ?

我可以在五秒钟后丢弃SSH连接吗?

我需要允许用户连接到我的机器,然后在几秒钟后丢弃连接,无论客户端是否提交数据。 这可能吗? 另外,我可以创build一个完全假的服务器吗? (即只允许文件内存中的变化,欺骗任何攻击者连接到认为服务器是真实的?)

安全复制uucp风格

我经常遇到这样的情况:我必须为远程主机做大量的跳转操作,只是因为我的客户端和远程主机之间没有直接的路由。 当我需要将远程主机上的文件复制两次或更多次时,我总是必须: client$ ssh host1 host1$ ssh host2 host2$ scp host3:/myfile . host2$ exit host1$ scp host2:myfile . host1$ exit client$ scp host1:myfile . 当uucp仍然被使用时,这将会像a一样简单 uucp host1!host2!host3 /myfile . 我知道有squid的uucp,但不幸的是我没有在这些机器上设置适当的权限。 另外,我不确定我是否真的想摆弄客户的机器。 有没有人知道一个方法做这个任务,而不需要build立大量的隧道或部署新的软件到远程主机? 也许某种recursion脚本克隆自己到所有的远程主机,为我做的辛苦工作? 假设使用公钥进行身份validation,并且所有主机都执行SSH代理转发。 编辑:我没有find一种方法来自动转发我的交互sesssion到下一跳主机。 我想要一个解决scheme,使用scp通过多跳来复制文件bangpath风格,而不需要在任何这些机器上安装uucp。 我没有(合法)权利或对ssh-config进行永久更改的权限。 此外,我分享这个用户名,并与其他许多人共同主持。 我愿意破解我自己的脚本,但我想知道是否有人知道已经做了什么。 bangpath上主机的最小侵入性改变,从客户端简单地调用。 编辑2:为了给你一个在交互式会话中如何正确完成的印象,请看一下GXPC群集 。 这基本上是一个Python脚本,它将自己传递到所有具有连接性的远程主机,以及您的ssh密钥的安装位置。 关于它的好处是,你可以告诉“我可以通过HostA通过HostB到达HostC”。 它只是工作。 我想为SCP做这个 。

对于失败的反向DNS,sshd警告“可能的打扰尝试!”

每当我SSH某处我在日志中得到这样的东西: sshd[16734]: reverse mapping checking getaddrinfo for 1.2.3.4.crummyisp.net [1.2.3.4] failed – POSSIBLE BREAK-IN ATTEMPT! 这是正确的:如果我做host 1.2.3.4它返回1.2.3.4.crummyisp.net ,但如果我做host 1.2.3.4.crummyisp.net没有find。 我有两个问题: 有什么安全威胁? 如何能够以某种威胁方式伪造单向DNS? 我有任何解决这个问题的办法吗? 我会给我的ISP发送一个错误报告,但是谁知道会发生什么。