Выполнение команды из встроенного в Windows клиента OpenSSH работает нормально. Также передача файлов SFTP с использованием SSH.NET работает нормально
Я понимаю, что POSH-SSH использует SSH.NET. Я пытаюсь выяснить, проблема ли это в SSH.NET или в конкретной настройке Linux.
Конфигурация SSHD в целевом Linux-компьютере
# $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
Сценарий Powershell с компьютера Windows, время ожидания которого истекает на этом конкретном компьютере:
$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
Подробнее здесь: https://stackoverflow.com/questions/784 ... s-too-long