gpt4 book ai didi

vb.net - 无法使用 SSH.NET 连接到 SSH 服务器

转载 作者:行者123 更新时间:2023-12-04 17:08:05 25 4
gpt4 key购买 nike

我目前正在尝试使用 Visual Basic 和 SSH.NET 为我的 Linux 服务器制作一个类似控制面板的程序。现在,我想在按下按钮时让 Linux 机器重新启动。

这是我到目前为止所拥有的:

Dim connInfo As New Renci.SshNet.PasswordConnectionInfo("IP", "USERNAME", "PASSWORD")
Dim sshClient As New Renci.SshNet.SshClient(connInfo)
Dim cmd As Renci.SshNet.SshCommand

Private Sub MaterialFlatButton1_Click(sender As Object, e As EventArgs) Handles MaterialFlatButton1.Click
Using sshClient
sshClient.Connect()
cmd = sshClient.RunCommand("reboot")
sshClient.Disconnect()
End Using
End Sub

当我按下按钮时,我得到的错误是:

Renci.SshNet.dll 中出现“Renci.SshNet.Common.SshConnectionException”类型的未处理异常

附加信息:已建立的连接被主机中的软件中止。

我需要用我的代码更改什么吗?

最佳答案

如果您是服务器管理员,则可以选择将 key 交换算法限制为 diffie-hellman-group1-sha1。需要注意的是,这种算法不再被认为是安全的,但 Open SSH 支持它。

为此,请转到您的 linux 服务器并编辑文件

/etc/ssh/sshd_config

添加行(在文件中间的某处)

# Disable all Kex Algorithms but the one defined below (so Renci SSH.NET 2013 works)
KexAlgorithms diffie-hellman-group1-sha1

重启ssh:
sudo service ssh stop
sudo service ssh start

现在 SSH.NET 可以工作了,但是要通过 ssh(终端)连接到服务器,您应该在客户端配置文件中定义协议(protocol):

编辑文件(我在 cygwin 上使用 ssh,其他客户端超出我的知识范围)

~/.ssh/config

添加行
KexAlgorithms +diffie-hellman-group1-sha1

总结一下,我最终没有使用这个解决方案,因为最新的 filezilla 没有与服务器连接,并且我有一个用户使用它来上传文件。

关于vb.net - 无法使用 SSH.NET 连接到 SSH 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com