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

时间:2016-09-21 12:35:46

标签: c# sftp change-password ssh.net

是否有人知道是否可以使用SSH.NET库(Renci.SshNet)以编程方式更改SFTP站点上的用户密码?无论如何,我都找不到任何确定的东西。

如果是的话,我会感谢您提供的任何指示。

1 个答案:

答案 0 :(得分:0)

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

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

虽然您愿意修改SSH.NET库,但请参阅PasswordAuthenticationMethod.Session_UserAuthenticationPasswordChangeRequiredReceived方法。它发送密码更改请求,如:

_session.SendMessage(
    new RequestMessagePassword(
        ServiceName.Connection, Username, _password, eventArgs.NewPassword))

如果您实施自己的AuthenticationMethodRequestMessagePassword直接在eventArgs.NewPassword方法的实施中发送Authenticate,那么它应该可以满足您的需求。