Articles of ssh

如何欺骗SSH连接使用基于当前位置的不同configuration?

这里是下面的用例:想在3种情况下ssh server1 : server1在当前的networking上,去做 server1不在当前networking中,并且您需要使用网关(gw1)来访问它,这不是一个大问题,因为您可以使用~/.ssh/config为此定义隧道 你在一个不允许你访问第一个gw1的networking上,所以你会使用gw2。 期望的结果:能够使用相同的命令并能够连接到服务器。

停止Tomcat后SSH无响应,许多ksoftirqd CPU使用率

我有一个奇怪的问题。 每当我停止Tomcat,SSH变得非常缓慢,几乎完全没有响应。 SSH需要一分钟甚至更多时间才能接受任何命令。 当我终于使Tomcat重新开始时,一切都恢复正常。 这发生在一个非常繁忙的服务器上。 问题是我需要经常停止Tomcat,因为应用程序升级。 升级通常需要几秒钟的时间,但这需要将近10分钟,因此我们正在经历不必要的停机时间。 我看到的一件事是,当我停止Tomcat top显示了100%CPU的ksoftirqd/X进程。 这可能是问题吗? 内核版本是: 2.6.18-308.11.1.el5 红帽版本是: Red Hat Enterprise Linux Server release 5.9 (Tikanga) 任何想法为什么发生这种情况?

sshd和sftp子系统的“RequiredAuthentications2”不同

我们目前在我们的SSH服务器上使用了2因素身份validation,所以我们在sshd_config(公钥为key,键盘交互是通过PAM处理的2factor)中有“RequiredAuthentications2 publickey,keyboard-interactive” 为了使我们的开发更容易,我们要禁用sftp子系统的2因子要求。 我已经search了“匹配子系统sftp”(比如可用的“匹配组”,在那里我只能在后面定义“RequiredAuthentications2 publickey”,但似乎这是不可能的。 另一件事我看看是否检查PAM,如果有可能为sftp子系统定义一个单独的configuration(这似乎是不可行的,pam的服务总是'ssh'),或者如果我能有东西我的sshd pam conf像“auth [成功= 1默认=忽略] pam_succeed_if.so安静子系统在sftp” 任何提示? (除了另外设置另一个sshd实例只用于sftp)

如何设置google-authenticator并设置特定的匹配规则以允许不同的login规则?

我正在尝试设置Google-Authenticator(谷歌2因素authentication)。 相关的文件是: [root@srv01 ~]# cat /etc/pam.d/sshd #%PAM-1.0 auth required pam_google_authenticator.so auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the […]

在Windows上正确设置OpenSSH的用户权限?

我想在Windows上设置OpenSSH来提供SFTP站点。 我遇到了用户安全设置的一些问题。 以下是我创build用户的基本步骤: 在主机上创build一个新用户 添加用户以调整文件path为cygwin openssh passwd文件指向客户端的主文件夹(例如:/ cygdrive / e / homefolders /用户名) 允许用户读/写访问他们的文件夹 我遇到的问题是用户需要对OpenSSH程序文件夹具有执行权限才能login。 我发现我可以禁止访问特定的文件夹,如“等”,但我担心我必须在这里提供权限。 当使用FileZilla时,我显示了一个文件夹层次结构“/ cygdrive / e / homefolders / username”,并且可以浏览“/”到具有读权限的文件夹。 有没有一个具体的策略,我应该用这个安装适当的安全? 一个特定的文件或文件夹,我可能需要提供执行权限,但没有更多? 我想完全locking除了自己的文件夹读/写访问权限,但似乎不可能。

让我们的Windows用户社区更容易

我在一个学术环境中工作,在那里我们提供了各种ssh可访问的计算资源。 我们也提供了git仓库托pipe,我们需要ssh来读取/写入仓库。 我们对OS X和Linux用户的指导相对简单,最重要的是,与OS X和大多数现代Linux发行版一致, OpenSSH是开箱即用的,更重要的是, ssh-agent被预先configuration为在桌面会话处于活动状态时运行。 我们通常鼓励人们把密码分配给他们的密钥,所以没有身份validation代理人的生活会很快变得烦人。 目前,我们针对Windows用户的解决scheme在整体上更为分散和复杂。 从历史上看,人们一直在使用PuTTY ,但是这需要额外的步骤来生成兼容OpenSSH的密钥。 这也使得使用git命令行工具变得更加困难 – 虽然不是,我意识到,不可能的是,当与ssh可访问的存储库交互时,它最适合OpenSSH。 我们只想简单的安装msysgit ,但是我们正在寻找一种将ssh-agent集成到Windows桌面环境中的好方法。 最常见的解决scheme就是通过.bashrc条目来启动代理,但这看起来好像很不好,这意味着我们必须通过在Windows下编辑.bashrc的过程来引导大部分非技术用户。 另一个复杂的问题是, WinSCP经常被用作文件传输工具 – 当然这不会与ssh-agent 。 它会与来自PuTTY伙计的pagent交谈,但是pagent不会说ssh-agent所以它不能从命令行工作。 其他人做了什么来为不同平台上的用户提供一致的环境? 你刚刚抛出手,决定为Windows用户维护一套单独的文档? UPDATE 我发现两个程序在OpenSSH和pagent之间起到垫片的作用。 你有什么经验,无论是charade还是ssh-pagent ?

使用单个端口的多个反向SSH隧道

我能够在一台服务器上使用一个端口接收来自多个远程系统的反向SSH连接: Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22 Remote B: ssh -fN -R5001:localhost:22 user@server-ip -p22 Remote C: ssh -fN -R5002:localhost:22 user@server-ip -p22 我可以根据需要从本地客户端访问这些系统: Access Remote A: ssh root@server-ip -p5000 Access Remote B: ssh root@server-ip -p5001 这需要转发服务器上每个远程系统的一个端口。 当100多个遥控器连接时,除了在服务器防火墙中打开100多个端口以外,还有其他的select,并将每个远程端口静态分配给上述端口? 我的目标是使多个遥控器按需创build隧道,在那里我可以查询谁连接。 我发现sslh是一个多路复用器,可以区分基于协议的单个端口上的stream量,但这只适用于不同的协议,例如。 SSL / SSH。 有一个解决scheme,允许单个端口上的多个隧道? 例: Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22 -identifier abc123 Remote B: […]

如何从脚本设置docker容器的根密码?

我有一个脚本,在主机上运行,​​并创build/启动/停止docker集装箱。 我希望脚本更改容器中的root用户的密码。 由于容器是一个SSH服务器,我试过: sshpass -p 'OLDPASS' ssh root@<container-IP> 'echo -e "NEWPASS\nNEWPASS" | passwd root' sshpass -p 'OLDPASS' ssh root@<container-IP> 'echo -e "NEWPASS\nNEWPASS" | passwd root' 但它不起作用。 在继续之前,花更多的时间来debugging它,我想知道是否有更聪明的方法来做到这一点。 我明白,正确的“docker方式”是制作一个由Dockerfile运行的脚本,该脚本从共享卷中提取密码并将其设置为root密码。 这听起来很复杂,但我知道如何去做,并且适用于我使用的另一个docker图像。 但是我不想这样做。 我只需要一个使用Docker或者ssh来非交互式地改变用户密码的命令。

iptables – 只允许来自局域网的连接

有没有办法拒绝所有的external traffic (WAN) SSH和只允许本地stream量(192.168.0.1 to 192.168.0.255)和什么将是规则?

Ubuntu MySQL GUIlogin证书/密钥

我将每天使用Mysql Administrator和Mysql Query Browser GUI工具连接到Ubuntu云服务器上的Mysql Administrator ,并且我感觉响应速度非常慢。 我知道可以用ssh连接到terminal的下面命令,然后使用Mysql GUI工具。 ssh -L 3307:127.0.0.1:3306 mysql-server-ip 但是这对于每个人来说都是不容易的,在terminal上运行上面的命令,然后使用gui工具。 上面的ssh命令也很好,我觉得我正在处理本地数据库,但是如果它有一个在mysql gui工具本身中指定ssh命令的选项,对每个人来说都是最好的,也是最简单的。 此外,我想删除基于IP的限制,因为我使用iptables规则只允许mysql和其他端口的云服务器上的特定IP。 有什么最好的和简单的方式连接到MySQL像使用证书一起使用MySQL GUI工具? 最后,我期待的是,与MySQL的GUI工具(pipe理员和查询浏览器): 我想用一些证书/密钥轻松连接到MySQL 我想删除基于IP的限制,以便谁拥有密钥/证书可以连接到MySQL 任何人有任何想法? 谢谢!