Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I am looking for an app that has some of the same functionality (ssh specifically) as the Terminal application on the desktop. What different apps exist for iOS that have this functionality?

share|improve this question
2  
What functions, exactly, are you looking for? There is no file system access on a non-jailbroken iOS device. –  jaberg Feb 27 '12 at 17:52
    
Are you asking for an app that lets you access a Mac's console from iOS (because those exist), or something that lets you run console commands locally on the iOS device (because that probably doesn't)? –  Dan J Feb 27 '12 at 17:52
    
See my updated question. –  daviesgeek Feb 27 '12 at 18:49
add comment

4 Answers 4

up vote 12 down vote accepted

Prompt for iOS

Prompt allows you to remotely SSH into another machine. Without jailbreaking, there is no way to use Terminal to access your file system. However, I've found that if you do jailbreak your phone and want to use Prompt as a Terminal, you can set it to SSH to server 127.0.0.1 and authenticate with the standard iPhone root credentials.

Remoter: Remote Desktop (VNC) for iOS

This app does basically the same thing just a little differently. By default it allows a VNC connection for screen sharing, but it has different add ons that you can purchase that allow SSH, Telnet, and RDP.

share|improve this answer
3  
I've tried/bought many SSH clients and settled on prompt in the end. It's really good and regularly updated by a reputable company. –  Abhi Beckert Feb 27 '12 at 21:12
add comment

There are plenty of SSH apps for remote connections (see Matt's answer), but it is likely impossible that a local Terminal-like app could ever exist for the iOS device itself. The three main reasons would likely be:

  1. Numerous bash builtins and GNU/BSD utilities (ls, cp, mv, cd, even echo) would be completely disallowed because of the inability to directly access the filesystem, I believe this even extends to arbitrary access into the sandboxed directories too.

  2. License incompatibility. This is only relevant to Bash, which is most likely the shell you use (the actual functional/interactive part of a terminal program), Bash is licensed GNU v3 which is known from previous incidents to be completely incompatible with Apple's App Store terms. Though there are numerous alternatives that appear to allow distribution/existence on the app store, for example: tcsh and zsh.

  3. A terminal is almost worthless without 3rd party/command line applications. SSH? 3rd party binary. grep? 3rd party application. vim, svn, curl, ping, all 3rd party binaries. A terminal app would have to ship all of these, and would be incredibly difficult to ensure appropriate licensing with all of them. Not to even say how Apple would feel about so many binaries stuffed in an application bundle.

share|improve this answer
    
These days Apple does allow apps that do general purpose scripting, as long as they stay in the sandbox and follow all other rules (including the one where executable code can only be downloaded and executed by the built in WebKit engine). So you could write a shell environment, but it would be restricted to the sandbox and it couldn't download scripts or especially binary executables from the internet. –  Abhi Beckert Feb 27 '12 at 21:10
add comment

It's worth mentioning you can have a proper local UNIX shell if you jailbreak your device, and there are a few apps available for it.

I've never done it myself, perhaps someone who has can edit my answer to include more details.

share|improve this answer
add comment

If you are willing to jailbreak, there is MobileTerminal, which together with jailbreaking, gives you many of the common GNU utilities that operate directly on the iOS device's filesystem.

It would be a fair bit or work, though, as the version of MobileTerminal available through Cydia (the jailbreak App store) is out of date, and doesn't work on many devices. You would probably have to compile + install the current version from it's sources.

share|improve this answer
2  
If you add the Insanelyi repository, you can install a working version for the newer devices running iOS5. I have an iPod Touch 4th Generation with it. Just add repo.insanely.com to your sources and search for "MobileTerminal (New)." –  Andrew Larsson Feb 28 '12 at 5:38
    
repo.insanely.com is now dead. Any word on where I can get a Terminal built for the iPhone 5 screen? –  bbodenmiller Feb 8 at 21:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.