Termux does provide the openssh package, which contains both the ssh client and the sshd server.
Install the package with: apt install openssh, then start the server with sshd - it will run on port 8022 by default, so connect to it with ssh -p 8022 DEVICE_IP, and you can find the device wifi ip using ip addr list wlan0.
Password authentication is not ...
If you have a working SSH server running on Android device, you can connect to it on local/private network without any issues (after proper authentication setup obviously). Same may hold true for public network (internet) if your phone has a true public IP address (I don't think that happens on earth). However, when you need to cross networks i.e. traversing ...
One of the restrictions introduced with 4.4-kitkat was moving the WRITE_EXTERNAL_STORAGE permission to protection-level "SignatureOrSystem", which means even if requested, a "normal app" (i.e. one you install yourself as "normal user" without any root specialities) will no longer get it granted. So there are very few things you can do to "work around" this:
Query the system service battery (possibly requires root access)
Output would be like
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
level: 70 is the battery percentage ...
I managed to remap the Caps Lock key to Ctrl using External Keyboard Helper Pro. It was really straightforward, just poke around in the settings and you'll find a way to create a custom mapping (Keycode 58 --> Left Control).
To export keys from JuiceSSH (either private or public):
Load up JuiceSSH and go to Connections
Swipe right to the identities list
Long press the identity you want to export the key for
Select either "Export public key" or "Export private key"
This will bring up a "Share" dialog that will let you save the key to clipboard/gmail/dropbox etc.
I am new myself, but this is how I managed to do it
Generate SSH keys on your client (RPi in this case) system
A. Use the command ssh-keygen -t rsa -b 4096 -C "optional_identifying_comment" to generate the key pair
B. When the shell prompts Enter file in which to save the key it is asking for a file name. Provide your own, or press Enter to accept ...
If you want to give adbfs a try, here are some instructions. You need to take care to grab the right one, as there are two projects around: one is simply called adbfs, I couldn't get that to work correctly. The other is adbfs-rootless:
go to the projects github page
on that page, at the right-hand side in about the middle of the page, you find a button ...
I have successfully used BotBrew Basil Experimental when running Android 4.4. BotBrew Basil Experimental is based on apt-get so after installing APK and bootstraping I just did apt-get install dropbear in a root shell to install SSH client (and server).
Summing up from the comments
This answer states to use ssh <user>@<ip> -p <port> instead of the "colon syntax"
In SSHDroid, go to "Options" and check/define the port (default: 2222) and password to be used
According to the screenshots on the app's playstore page, if not using root mode you can use any user name to connect. Thus if you ...
First as a side-note for other readers: We're not talking about "an app" here (those have already been tried and didn't work on that architecture), but about a command-line binary. DropBear sometimes is part of Busybox, or it comes as separate binary.
Now for the installation part. Binaries you install yourself best go to /system/xbin, which is in the $PATH ...
Install Termux (Google Play, F-Droid, Fossdroid)
apt install dropbear
I personally chose OpenSSH toover Dropbear
apt install openssh
To run the server
Unless your device is rooted you won't be able to run sshd as root. Note that running as non-root implies that ports below 1024 cannot be bound to. In Termux any packages ...
AFAIK with LineageOS 14.1 (I have a rooted FairPhone 2), sshd is enabled by default and ready to use. Its config file is /system/etc/ssh/sshd_config which points to /data/ssh/ for keys storage. I guess you can reconfigure it to use /sdcard/. In theory, /data should be preserved across system updates, though I have not much experience to confirm it. The ...
Make sure your phone is accessible from internet as explained here.
You need a rooted device.
Android phones nowadays aren't those old low-end devices, they can run a full-featured SSH server happily. And it's an easy recipe:
Get fully static sshd binary for your phone's architecture. See details below.
Create /etc/passwd and /etc/shadow. To add a ...
Android turns off some of CPUs and/or don't let apps use them when it's dozing. It's achieved through Linux kernel's Control Groups. One of the cgroups is cpuset that controls which CPU is assigned to which processes. Android creates multiple descendant cgroups in cpuset e.g. background, foreground, system-background, top-apps etc.
Apps are normally in ...
I have been using the free SSHelper (without rooting) since it recently added zeroConf broadcasting. It provides an SSH and RSYNC (file transfer) server, while also broadcasting a ZeroConf name. Another avahi/bonjour client can connect without needing to know the android hostname. Explained in more detail in this other answer: Set hostname for SSHelper
One way to make your Android machine accessible via WAN SSH access (as in connecting from anywhere) would be to create a reverse SSH tunnel from your Android machine to some machine that is always online. It can be your Desktop machine behind a NAT router (most common case). Then you forward that same port from the Router to your Desktop machine. This is ...
Take a look at the various ways to get around this issue as explained in the official docs.
Here're some excerpt:
One solution, not at all easy, is to take the external storage device out of the Android device, write to it elsewhere, and put it back. This is a great pain, and works only if you have access to the device and are a bit of a techie.
There's a ...
You seem to be a bit confused about the article you read. It's about an Android-compatible clone, which has nothing to do with the SSH communications protocol. The company mentioned has SSH in its name, and was founded by one of the original inventors of the SSH protocol, but doesn't "own" the SSH protocol or name, or the OpenSSH server.
As you've already ...
You can setup a Task in Tasker which you can invoke from command-line. The task can be setup with actions of your liking in combination, such as show a notification and vibrate with XYZ pattern. When setting up a task in Tasker, setup the action like this: Alert → Notify
Fill up the fields as you like. Make sure to enable Allow External Access setting ...
As you already figured out, there's SSHelper hosting its own .apk. But you might also wish to check with F-Droid, and find out there are even more SSHd's to download without using Google Play Store.
Edit: As it turns out, I wasn't aware F-Droid also features forums, and the above are only forum links. To compensate: You can also find some SSH Server apps on ...
Revisiting this after several years, I've found a solution that works across all my devices (GNU/Linux, FreeBSD, Android): Syncthing
It provides free (as in speech, and as in beer), secure, and easily installed peer to peer file synchronisation. Literally does everything I want, out of the box.
I am leaving my old answer since the browse and parsing examples may still be useful for some people.
Thanks to the developer's version 5.5 update to SSHelper, you can create a user defined name to be the phones Zeroconf instance name. SSHelper will run the SSH server on a non-rooted Android.
Update SSHelper to version 5.5
Open Android Bluetooth settings ...
In the March 2014 update to SSHelper the documentation states new changes to it's Zeroconf broadcasting name. In the documentation Configuration section of the details it describes the checkbox to "Enable Zeroconf broadcasting". When this is enabled any other client on the local network, will be able to browse and then connect for SSHelper on the network.
was mentioned here which works for me on a rooted device. But someone mentioned here (see comments as well) that it's a bit harsh to simply shutdown without notice. So try something like this:
su -c 'am broadcast android.intent.action.ACTION_SHUTDOWN && sleep 5 && reboot -p'
You could install Termux, a terminal shell with additional Linux functionality on top of Android, with a package manager, so you can scale the magnitude of native Linux functionality at will. Then enter
pkg install openssh
Key-pairs in different formats will be generated upon OpenSSH install.