C#使用sftp远程拷贝文件
需要下载 的包:Core.Renci.SshNet
下载依赖包的时候需要注意版本,高版本的.net环境不支持会用不了,我用的.net5,所以下载的2021.10.2
功能的核心式创建一个SftpClient,并传入所需要的参数:远程IP地址,端口号,远程端用户名和密码。示例代码如下:
var connectionInfo= new ConnectionInfo(address, username, new PasswordAuthenticationMethod(username, password) ) ;using (var client = new SftpClient(connectionInfo)){client.Connect();if (client.IsConnected){var remoteFiles = client.ListDirectory(sourceFolder).Where(f=>!f.IsDirectory&&!f.Name.StartsWith("."));//远程端文件夹地址foreach (var file in remoteFiles) {string remotePath = $"{sourceFolder}/{file.Name}";using (var fs = File.Open(localPath,FileMode.Create))//localPath:本地要存放的地址{client.DownloadFile(remotePath, fs);} }}}}
}