NMSSH/NMSSH logo

NMSSH/NMSSH

Free

NMSSH is an Objective-C wrapper for libssh2, with a sweet API.

FreeFree tier
Type
Open Source

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.