반응형
SFTP(Secure File transfer protocol) - SSH와 마찬가지로 전송시 암호화시켜서 전송을 하게 되는데 그 중에 FTP와 같이 파일을 전송할 때 암호화 시켜서 전송합니다.
SSH에 부가적으로 있는 기능들 중 하나의 기능입니다. FTP와 같은 역할을 하지만, 사용하는 포트는 FTP 포트(기본 21포트) 가 아닌 SSH 접속시 사용하는 포트를 사용하고, SSH 접속 계정으로 로그인 할 수 있는 FTP 입니다.
SFTP 장점
- SFTP는 하나의 연결만 필요하며 데이터 연결이 필요하지 않다.
- 연결이 안전하게 보호된다.
- 프로토콜에서 제공하는 추가 기능에는 파일 잠금, 속성 조적, 권한 작업 및 더 많은 기능이 포함된다.
SFTP 단점
- SSH 키의 유효성 검사 및 관리는 더복잡하다
- 여러 공급업체의 소프트웨어 타이틀 간에 호환성 문제를 일으킬수있다
- .NET 및 VCL 에는 기본적으로 SSH/SFTP 지원이 포함 되지 않는다.
SFTP 사용을위해 NuGet 패키지 관리자에서 SSH.NET 설치
static void sFtpUpLoad()
{
string ftpPath = ""; //SFTP 연결주소
string dirPath = ""; //디렉토리 경로
string user = ""; //아이디
string pwd = ""; //비밀번호
string inputFile = ""; //전송할 파일
int port = 22; //SFTP 포트는 22번
try
{
using (var client = new SftpClient(ftpPath, port, user, pwd))
{
client.Connect();
client.ChangeDirectory(dirPath);
if (client.IsConnected)
{
//연결성공시 파일업로드
using (var fileStream = new FileStream(inputFile, FileMode.Open))
{
client.BufferSize = 4 * 1024; // bypass Payload error large files
client.UploadFile(fileStream, Path.GetFileName(inputFile));
}
}
else
{
}
}
}
catch (Exception ex)
{
ex.ToString();
}
}
728x90
반응형
'Programing > .NET' 카테고리의 다른 글
[C#] Azure BlobStorage 파일 업로드 (0) | 2021.11.11 |
---|---|
[C#] BarcodeLib 바코드 생성 (0) | 2021.11.10 |
[C#] AES256(AES/CBC/PKCS5Padding) 암/복호화 (0) | 2021.03.14 |
[C#] RestSharp 으로 HTTP/HTTPS 통신 (0) | 2020.07.24 |
[C#] Log파일 생성 (0) | 2019.07.30 |