我正在使用SSH将远程计算机(客户端)上的端口转发到另一台计算机(服务器)( ~/.ssh/config ) 主机客户端: Hostname {ip} … RemoteForward localhost:{port} localhost:{port} 问题是,即使服务器上没有监听,客户端也可以成功连接到localhost:port 。 唯一的失败指示是服务器上的消息: connect_to localhost port {port}: failed. 有没有办法将这个错误转发给客户端,并终止连接?
我有一个OpenSSH客户端和服务器。 两者都在OpenSSH 6.0上运行在Debian 7上。 我在两台机器之间build立了一个VPN,并且VPN具有function性的IPv6。 它没有任何IPv4。 令人沮丧的问题是,如果我在ssh_config中设置了AddressFamily inet6选项,我只能连接到使用IPv6的服务器。 我真的不想要设置这个选项。 它确定似乎我应该能够设置AddressFamily any和我的连接工作。 我通过IPv6的工作连接如下所示。 工作ssh_config Host test-fw-01 test-fw-01.example.org HostKeyAlias test-fw-01.example.org HostName test-fw-01.example.org AddressFamily inet6 工作控制台输出 # ssh -v test-fw-01.example.org OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 122: Applying options for test-fw-01.example.org debug1: /etc/ssh/ssh_config line 370: Applying options for * […]
情况是这样的:有一个SSH客户端(Ubuntu 14.04)和一个SSH服务器(Debian 7)。 他们之间有一堆networking。 SSH连接很容易(而且很快)build立,工作正常,速度快。 但是,如果连接闲置一段时间,就会发生一个奇怪的事情 – 连接仍然存在:我可以input命令,运行它们,命令将在服务器上执行,但是如果其中一个命令或一个命令多次执行产生太多的数据(只有几行文本就足够了),那么连接冻结,过了一段时间(当我再次按下某些东西时)会断开连接。 在冻结过程中,服务器和客户端都将连接处理为仍处于打开状态。 如果有什么东西像“顶”那样运行,那么连接就不会进入这个状态,从而始终保持发送数据。 我已经尝试了各种debugging选项和日志,但是看不到任何可以解释发生的事情的提示。 最容易混淆的部分是,在实际冻结之前,连接仍然有效。 任何暗示是赞赏。
我有一个很奇怪的服务器,希望你能帮我找出正在发生的事情。 这里是事实: 该服务器有2个用户: root和myuser 服务器只接受使用pubkey的ssh连接 如果我从Putty(在Windows上)以myuser的身份连接到服务器,则连接需要几秒钟,并立即显示cmd提示符 如果我从Cygwin(在Windows上)以myuser的身份连接到服务器,则连接需要几秒钟,但是需要40秒才能显示cmd提示符。 从PHP脚本连接,甚至在同一个networking中的另一台linux服务器的ssh连接时也是如此 在Cygwing我使用OpenSSH_7.2p1, OpenSSL 1.0.2g ,在PHP的phpseclib库和其他的Linux服务器OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 用root尝试相同的过程会产生相同的结果 所以,在这两种情况下( session opened for user myuser sshd日志写session opened for user myuser ),ssh连接都能正确build立,但是在一种情况下,cmd提示会立即出现,另一种情况则会花费太长时间(60秒)。 任何想法可能会促成这个问题? 如果您需要一些关于日志消息或configuration文件的更多信息,请在评论中告知我。 更新1 运行strace ssh [email protected]输出以下内容: **lot of stuff** 18:20:10 read(3, "Dq\340\342\5\16\7+\367\366r\315\241\272\35\23\2225\344\366\332D\36\217\254$ 18:20:10 ioctl(0, TIOCGWINSZ, {ws_row=60, ws_col=237, ws_xpixel=0, ws_ypixel=0}) = 0 18:20:10 getsockopt(3, SOL_TCP, TCP_NODELAY, [0], [4]) = […]
在我的EC2 SSH连接经过一段时间不活动之后,我不断收到packet_write_wait:Broken Pipe错误。 我已经尝试修改ServerAliveInterval & ClientAliveInterval设置,其值从5到120不等。 我也尝试将TCPKeepAlive设置更改为no或是。 我已经尝试将这些设置应用于/etc/ssh/sshd_config和~/.ssh/config (我已经在Host *块和Host SERVER.COM块中尝试了这些设置)。 然而,我一直断开与一个packet_write_wait:Broken Pipe错误。 我如何纠正这个问题?
我的问题可以看作是如何通过SSH的差异扩展? 有点扭曲。 环境 macOS Sierra(10.12.3) OpenSSH 7.3 示例情况 我试图在两个文件之间打印diff ,其中一个位于远程主机上,需要读取sudo 。 如果这个远程文件是我的远程用户可读(或者如果我可以用sudo标志NOPASSWD执行命令),我只需要执行: diff LOCALFILE <(ssh host 'cat REMOTEFILE') 然而,我确实需要进行身份validation才能执行远程命令,这意味着我必须分配一个伪terminal与ssh -t ,并且下面的执行永远不会完成: diff LOCALFILE <(ssh -t host 'sudo cat REMOTEFILE') 故障排除 ps显示我的ssh进程已停止: STAT TIME COMMAND S+ 0:00.00 diff LOCALFILE /dev/fd/12 T 0:00.03 ssh -t host sudo cat REMOTEFILE 在这一点上, ssh进程没有响应SIGTERM,上面的文件描述符不存在: ❯ ls -l /dev/fd total 0 […]
我怎样才能创build一个不受信任的用户的SFTPlogin,他只能访问他自己的主目录中的文件,而不运行任何命令? 使用ChrootDirectory的在线教程OpenSSH SFTP chroot()几乎正是我所需要的,除了我希望用户将他的主目录看作/home/user ,而不仅仅是/ 。 任何帮助将不胜感激。
我已经能够在我的ubuntu,fedora核心和mac系统上设置SSHauthentication密钥,但是,我无法使用SSH密钥与redhat enterprise linux 5(RHEL5)正常工作。 我试过用2048位encryption创build密钥,但似乎没有任何工作。 这里是我尝试通过我的mac osx豹(10.5.7)连接时得到的debugging输出。 我检查了权限,我无法弄清楚…谢谢 更新:我已经加倍检查我的权限,他们是0700的.ssh和0600的.ssh / authorized_keys royrico@mac ~ $ ssh -vv linuxbox OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006 debug1: Reading configuration data /etc/ssh_config debug2: ssh_connect: needpriv 0 debug1: Connecting to linuxbox [192.168.2.3] port 22. debug1: Connection established. debug1: identity file /Users/royrico/.ssh/identity type -1 debug2: key_type_from_name: unknown key type '—–BEGIN' debug2: […]
我试图在现有的Windows 2008(R2)服务器上设置一个git存储库。 我已经成功地安装了Cygwin,并且将git和ssh添加到了包中,并且一切都很完美(感谢Mark对他的文章 )。 我可以ssh到服务器上的localhost,我可以在服务器上本地执行git操作。 当我尝试从客户端,但是,我得到“端口22,错误的文件编号”错误。 详细的SSH输出仅限于此: OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 debug1: Connecting to {myserver} [{myserver}] port 22. debug1: connect to address {myserver} port 22: Attempt to connect timed out without establishing a connection ssh: connect to host {myserver} port 22: Bad file number 谷歌告诉我,这意味着我通常被防火墙阻止。 所以,仔细检查服务器上的防火墙设置,规则是否允许端口22的stream量。 我甚至尝试过closures防火墙,行为没有改变。 我可以很好地从该客户端ssh到其他服务器。 托pipe公司发誓,没有其他防火墙阻止端口22(或任何其他端口,他们声称,但我觉得很难相信)的服务器。 我还有另外一张麻烦票,以防万一第一个支持者满了,但同时我想看看有没有人能想到其他的东西。 谢谢,保罗
我必须从Ubuntu切换,以便我可以全速使用Adobe Suite,现在我发现Windows上的SSH并不像在Linux上那样统一。 所以我安装了msysgit和腻子,但我发现git使用SSH的腻子有问题。 (我没有在Windowspath上安装msysgit并使用plink)。 我正在尝试通过使用/.ssh/config文件来将git项目上的远程设备添加到非标准端口上的服务器上 Host 255.255.255.255 Port 22222 然后我将数据添加到我的git仓库: git remote add origin [email protected]:~/git/repo 但是,当我尝试推我得到一个错误信息。 $ git push origin master FATAL ERROR: Network error: Connection refused fatal: The remote end hung up unexpectedly 所以然后我试着从git控制台使用SSH: ssh [email protected] 这提示我的私钥密码短语(它没有),当我失败,它要求我的SSH用户密码(工程)。 由于我打算通过密码禁用SSHlogin,我需要git开始正确使用我的密钥。