Articles of ssh

(svn + ssh)让bash通过SSH加载我的PATH

这个问题出现在我试图通过SSH在服务器上使svnserve (Subversion服务器)可用。 我编译SVN并将其安装在$HOME/bin 。 本地访问(不通过SSH)工作正常。 与svn+ssh连接由于以下原因而失败: bash: svnserve: command not found debugging这个,我发现: ssh user@server "which svnserve" 说: which: no svnserve in (/usr/bin:/bin) 这很奇怪,因为我在.bashrc更新了$HOME/bin的path,并将其添加到~/.ssh/environment 。 但是,似乎SSH不读取它。 虽然当我运行: ssh user@server "echo $PATH" 它确实打印我更新的path! 这里发生了什么? 我如何让SSHfind我的svnserve ? 提前致谢

SSH密钥authentication

我不能设置SSH密钥身份validationlogin,而不input密码,只使​​用私钥。 这是我的VPS的sshd_config文件。 # What ports, IPs and protocols we listen for Port 8707 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of […]

如何在FreeBSD上logging每个login(SSH)

我想logging每个SSHlogin尝试,都成功与否,到我的FreeBSD服务器到一个文件,并每日邮寄此日志到根。 我可以通过parsing/var/log/auth.log来完成类似这样的事情,但是a)这包含多于login尝试,以及b)自从昨天运行以来它可以被翻转。 有没有更直接的方法来做到这一点? 例如在SSHd或loginconfiguration挂钩login每个login?

使用SSH隧道代理时如何解决“打开失败:pipe理禁止:打开失败”

我一直在Windows上使用SSH隧道(使用腻子)。 在使用腻子的Windows上,它总是很好,但在Mac或Cygwin中,它有时会提示警告消息: open failed: administratively prohibited: open failed 我试过谷歌,虽然发现有人问,没有find最终答案来解决它。 有没有人可以帮助我呢? 非常感谢任何types的提示!

为什么fail2ban不禁止这种攻击?

我已经安装了fail2ban来禁止对ssh密码进行暴力破解。 有没有禁用密码authentication在这台机器的业务要求。 fail2ban安装使用相同的厨师食谱,有效地禁止ssh攻击其他机器。 有一个SSH监狱configuration: # service fail2ban status fail2ban-server (pid 5480) is running… WARNING 'pidfile' not defined in 'Definition'. Using default one: '/var/run/fail2ban/fail2ban.pid' Status |- Number of jail: 1 `- Jail list: ssh 手动禁止用户作品: # fail2ban-client set ssh banip 103.41.124.46 但似乎没有自动禁止任何人: # cat /var/log/fail2ban.log 2014-11-20 18:23:47,069 fail2ban.server [67569]: INFO Exiting Fail2ban 2014-11-20 18:44:59,202 fail2ban.server [5480]: […]

使用inittab来确保sshd(和其他重要的项目)仍在运行 – 有什么缺点?

设法杀死远程计算机上的sshd(通过运行一个使用机器中所有可用内存的脚本,oops …),除了访问主机[1]之外我无法访问,我正在考虑如何确保该sshd始终保持运行。 除了每隔n分钟或几小时重新启动sshd的hacky cron作业外, 使用inittab让init保持sshd运行似乎是一个好主意 。 这种方法有什么缺点吗? 这似乎是Linux发行版默认情况下明智的做法,因为sshd通常是机器唯一可用的访问方法。 另外,还有其他的守护进程,我应该使用这种方法? 也许是一个监控代理,如nagios的nagios? [1]是的,pipe理卡或networking电源开关将是一个好主意,但他们当时被认为是“不必要的”。

Ubuntu的服务器,SSH,写入失败:损坏的pipe道

我在两台新服务器(包括全新安装)上使用Ubuntu Server 10.04 64bit,出现了一些奇怪的行为。 我有ubuntu服务器(相同版本)部署在4-5其他服务器没有这个问题。 最初,我不能ssh到一个新的服务器安装,直到我手动设置SSH服务器正在侦听的地址在/ etc / ssh / sshd_config。 一旦我连接,我似乎被随机间隔踢出以下错误: 写入失败:pipe道破损 使用“ssh -vv”不会显示任何其他信息。 当我以这种方式被踢出去的时候,我不能重新连接另一个看似随机的时间。 有时几秒钟,其他几分钟。 如果我运行“netstat -nap | grep:22”,我可以看到写入失败错误后,我的连接仍然存在。 我似乎无法重新连接,直到连接下降。 发生这些错误之一后,如果从控制台跳到服务器上,ssh到另一台机器,然后尝试ssh回到服务器,一切工作正常。 使用“-o TCPKeepAlive = yes”客户端似乎没有任何效果。 我在服务器上禁用了iptables和ufw。 AppArmor未显示任何强制configuration文件,并且未安装SELinux。 我的日志不报告任何错误,我没有任何自定义configuration。 这是一个箱子安装。 请注意,当我尝试恢复损坏的pipe道错误后,这是我得到的错误: ssh:连接到主机172.22.50.92端口22:连接被拒绝 而nmap不再显示端口22是打开的,尽pipe服务器上的netstat表示它仍然在端口22上侦听。 编辑 – 我不知道这是否意味着什么,但我已经在这些主机上安装了KVM,我可以ssh进入客人(也是Ubuntu的服务器64位)没有任何问题。 更新 – 我已经尝试清除openssh并重新安装apt。 我也清除并安装openssh从源头上没有运气。 traceroute和ping在一夜之间显示没有任何丢包。 还有更新 – 戴尔似乎认为我们有一个糟糕的服务器主板。 取代它是否能解决问题。

在端口443上运行sshd和httpd SSL

是否有可能(也许与inetd)使443端口作为sshd和httpd SSL服务? 也许通过分析请求,如果请求是“连接”,那么让httpd处理连接; 如果请求是ssh初始化,那么让sshd处理它。

运行一个命令,直到停止失败

我想运行一个命令,直到它成功完成,然后停止。 我知道我可以设置一个bash循环来做到这一点,但我很好奇,如果有任何便携的方式来做类似的watch -n5 ,会做我想要的。 用例:我试图通过SSH连接到可能还没有启动的服务器。

是否有可能使用环境variables中指定内容的ssh密钥?

我正在远程服务器上工作,我需要从另一个服务器使用我的私钥做一个git克隆。 但我不想将密钥存储在远程服务器上。 我想避免在远程服务器上存储ssh密钥,即使是临时文件。 这可能吗?