NMSSH/NMSSH
FreeNMSSH is an Objective-C wrapper for libssh2, with a sweet API.
FreeFree tier
About NMSSH/NMSSH
NMSSH is a clean, easy-to-use, unit tested Objective-C framework for iOS and OSX that wraps libssh2. It provides a simple API for SSH connections, authentication (password-based shown), command execution, and file transfer. The framework includes precompiled binaries of Libssh2 and OpenSSL, can be installed via CocoaPods or Carthage, and is used in production apps like iTerm2. It is open-source under the MIT license.
Key Features
Objective-C wrapper for libssh2
Clean and easy-to-use API
Unit tested framework for iOS and OSX
Supports SSH connection, authentication, command execution, and file upload
Includes precompiled binaries of Libssh2 and OpenSSL
Installable via CocoaPods and Carthage
Used in iTerm2 and DogeWallet
Pros & Cons
Pros
- Simple and intuitive API design
- Well-documented with code examples and API docs
- Unit tested for reliability
- Precompiled binaries reduce build complexity
- Open source with MIT license
- Actively maintained with community contributions
Cons
- Objective-C only, not natively compatible with Swift without bridging
- Limited to the features provided by libssh2
- Precompiled binaries may need to be rebuilt for custom OpenSSL versions
- Not actively maintained (last commit some time ago based on repository activity)
Best For
Building SSH client apps for iOS or macOSRemote server management and automationSecure file transfer in mobile or desktop applicationsIntegrating SSH capabilities into existing Objective-C projects
FAQ
What is NMSSH?
NMSSH is an Objective-C wrapper for libssh2 that provides a clean, easy-to-use, unit tested framework for iOS and OSX to handle SSH connections, authentication, command execution, and file transfer.
How do I install NMSSH?
NMSSH can be installed via CocoaPods with 'pod NMSSH' or via Carthage with 'github NMSSH/NMSSH'. You can also build from source following instructions on the Wiki.
Does NMSSH support key-based authentication?
While the example shows password authentication, NMSSH wraps libssh2 which supports various authentication methods including public key authentication, but the documentation primarily demonstrates password authentication.
Is NMSSH free to use?
Yes, NMSSH is open source and free to use under the MIT license.