是否有人知道是否可以使用SSH.NET库(Renci.SshNet)以编程方式更改SFTP站点上的用户密码?无论如何,我都找不到任何确定的东西。
如果是的话,我会感谢您提供的任何指示。
答案 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))
如果您实施自己的AuthenticationMethod
,RequestMessagePassword
直接在eventArgs.NewPassword
方法的实施中发送Authenticate
,那么它应该可以满足您的需求。