C# 是否可以更改用户的SFTP密码(renci.sshnet)

C# 是否可以更改用户的SFTP密码(renci.sshnet),c#,sftp,change-password,ssh.net,C#,Sftp,Change Password,Ssh.net,有人知道是否可以使用SSH.NET库(Renci.SshNet)以编程方式更改SFTP站点上的用户密码吗?无论哪种方式,我都无法找到任何明确的答案 如果是,我将非常感谢您提供的任何指示。否。虽然SSH协议中有一个API可以根据请求更改密码,但SSH.NET库并没有实现显式请求 在SSH.NET库中,您只能在服务器请求时更改密码。通常,当以前的密码过期时,服务器会要求更改密码。在SSH.NET库中,此服务器请求作为PasswordExpired事件实现 但是,如果您愿意修改SSH.NET库,请参

有人知道是否可以使用SSH.NET库(Renci.SshNet)以编程方式更改SFTP站点上的用户密码吗?无论哪种方式,我都无法找到任何明确的答案


如果是,我将非常感谢您提供的任何指示。

否。虽然SSH协议中有一个API可以根据请求更改密码,但SSH.NET库并没有实现显式请求

在SSH.NET库中,您只能在服务器请求时更改密码。通常,当以前的密码过期时,服务器会要求更改密码。在SSH.NET库中,此服务器请求作为
PasswordExpired
事件实现


但是,如果您愿意修改SSH.NET库,请参阅
PasswordAuthenticationMethod.Session\u UserAuthenticationPasswordChangeRequiredReceived
方法。它发送密码更改请求,如下所示:

_session.SendMessage(
    new RequestMessagePassword(
        ServiceName.Connection, Username, _password, eventArgs.NewPassword))
如果您在
Authenticate
方法的实现中直接实现了自己的
RequestMessagePassword
方法,该方法通过
eventArgs.NewPassword
发送
RequestMessagePassword
,那么它应该可以满足您的需要