You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

POSH-SSH/SSH.NET执行Linux命令响应超时问题排查求助

问题背景与排查需求

通过PowerShell脚本(依赖POSH-SSH)或.NET 4.8代码(依赖SSH.NET)执行echo $HOME、mkdir这类简单命令时出现异常:命令实际已成功执行(比如mkdir已创建目录),但客户端要等待4-8分钟才收到响应,POSH-SSH甚至会直接超时。

该问题仅出现在**RedHat Linux 8.9(OpenSSH_8.0p1、OpenSSL 1.1.1k)**的目标主机上:

  • 使用Windows内置OpenSSH客户端执行命令完全正常
  • 通过SSH.NET进行SFTP文件传输也无异常

已知POSH-SSH基于SSH.NET,需排查此问题是SSH.NET本身的缺陷,还是目标Linux主机的配置导致。

目标Linux主机sshd配置

#   $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

Port 22
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

SyslogFacility AUTHPRIV

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no

GSSAPIAuthentication yes
GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes
PrintMotd no

PermitUserEnvironment yes
ClientAliveInterval 300
ClientAliveCountMax 0

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

Subsystem   sftp    /usr/libexec/openssh/sftp-server

Windows端超时的PowerShell脚本

$linuxHost = "10.120.2.127"
$user = "test"
$password = "password" | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($user, $password)
$sshSession = New-SSHSession -ComputerName $linuxHost -Credential $credential -AcceptKey
$command = 'echo $HOME'
$response = Invoke-SSHCommand -SSHSession $sshSession -Command $command
$response.Output
Remove-SSHSession -SSHSession $sshSession.SessionId

内容的提问来源于stack exchange,提问作者LadderLogic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:13:23