# openssh-sftp-client [![Rust](https://github.com/openssh-rust/openssh-sftp-client/actions/workflows/rust.yml/badge.svg)](https://github.com/openssh-rust/openssh-sftp-client/actions/workflows/rust.yml) [![crate.io downloads](https://img.shields.io/crates/d/openssh-sftp-client)](https://crates.io/crates/openssh-sftp-client) [![crate.io version](https://img.shields.io/crates/v/openssh-sftp-client)](https://crates.io/crates/openssh-sftp-client) [![docs](https://docs.rs/openssh-sftp-client/badge.svg)](https://docs.rs/openssh-sftp-client) openssh-sftp-client, implements [sftp v3] according to [`openssh-portable/sftp-client.c`] in rust using `tokio` and `serde`. It exposes highlevel `async` APIs that models closely after `std::fs` that are easy to use. [sftp v3]: https://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt [`openssh-portable/sftp-client.c`]: https://github.com/openssh/openssh-portable/blob/19b3d846f06697c85957ab79a63454f57f8e22d6/sftp-client.c ## Extensions This crate support the following extensions: - limits - expand path - fsync - hardlink - posix rename - copy-data ## How to run tests For macOS, please install latest rsync from homebrew. ``` ./run_tests.sh ```