SSH » History » Version 7
Denis 'GNUtoo' Carikli, 05/21/2017 08:13 AM
1 | 1 | Denis 'GNUtoo' Carikli | h1. SSH |
---|---|---|---|
2 | 2 | Denis 'GNUtoo' Carikli | |
3 | 1 | Denis 'GNUtoo' Carikli | h2. Server |
4 | |||
5 | This tutorial was tested on Replicant 6.0, it might or might not work on older Replicant versions. |
||
6 | |||
7 | 5 | Denis 'GNUtoo' Carikli | This tutorial assumes that: |
8 | 7 | Denis 'GNUtoo' Carikli | * You already setup adb and gave it root access |
9 | 5 | Denis 'GNUtoo' Carikli | * You already know how to use OpenSSH. |
10 | * You already generated some SSH keys on your computer. |
||
11 | 3 | Denis 'GNUtoo' Carikli | |
12 | 1 | Denis 'GNUtoo' Carikli | First, connect your smartphone or tablet to your computer trough USB, and make sure that ADB is already setup. If it is not, you can follow the [[ADB|explanations on how to setup ADB]]. |
13 | |||
14 | Then on your computer, make sure to give adb root permissions: |
||
15 | <pre> |
||
16 | $ adb root |
||
17 | </pre> |
||
18 | |||
19 | 3 | Denis 'GNUtoo' Carikli | OpenSSH requires some host keys to work, generate them on your smartphone/tablet with: |
20 | 1 | Denis 'GNUtoo' Carikli | <pre> |
21 | $ adb shell "/system/bin/ssh-keygen -A" |
||
22 | </pre> |
||
23 | |||
24 | OpenSSH also needs a configuration file in /data/ssh/sshd_config, and by default the /data/ssh/sshd_config doesn't exist. Since we have an example configuration file in /etc/ssh/sshd_config, we can use it. |
||
25 | |||
26 | 3 | Denis 'GNUtoo' Carikli | First copy the smartphone/tablet's /etc/ssh/sshd_config to your computer. |
27 | 1 | Denis 'GNUtoo' Carikli | <pre> |
28 | $ adb pull /etc/ssh/sshd_config |
||
29 | </pre> |
||
30 | |||
31 | 6 | Denis 'GNUtoo' Carikli | Then comment the line with "HostKey /data/ssh/ssh_host_dsa_key" by prepending a "#" in front of the line, to make it look like that: |
32 | <pre> |
||
33 | # HostKey /data/ssh/ssh_host_dsa_key |
||
34 | </pre> |
||
35 | When the bug #1805 will be fixed, this step will be unnecessary. |
||
36 | |||
37 | Then edit the file if you wish to change other configuration options. |
||
38 | |||
39 | then copy it to /data/ssh/sshd_config on the smartphone/tablet: |
||
40 | 1 | Denis 'GNUtoo' Carikli | <pre> |
41 | $ adb push sshd_config /data/ssh/sshd_config |
||
42 | </pre> |
||
43 | |||
44 | 3 | Denis 'GNUtoo' Carikli | Then, to permit accessing the smartphone/tablet with your SSH key, you need to copy your public key to the smartphone/tablet. This can be done with: |
45 | 1 | Denis 'GNUtoo' Carikli | <pre> |
46 | $ adb push ~/.ssh/id_rsa.pub /data/ssh/authorized_keys |
||
47 | </pre> |
||
48 | |||
49 | 7 | Denis 'GNUtoo' Carikli | First get a root shell on the smartphone/tablet with: |
50 | 1 | Denis 'GNUtoo' Carikli | <pre> |
51 | $ adb root |
||
52 | 7 | Denis 'GNUtoo' Carikli | $ adb shell |
53 | </pre> |
||
54 | Then you can start OpenSSH with: |
||
55 | <pre> |
||
56 | root@i9300:/ # /system/bin/sshd |
||
57 | 1 | Denis 'GNUtoo' Carikli | </pre> |
58 | 3 | Denis 'GNUtoo' Carikli | |
59 | 1 | Denis 'GNUtoo' Carikli | Note that OpenSSH won't be started automatically at boot, so after rebooting the smartphone/tablet, it will need to be started again manually. |
60 | |||
61 | 5 | Denis 'GNUtoo' Carikli | You should then be able to ssh into the smartphone/tablet. For instance, if you connect to it trough WiFi and that it's IP address is 192.168.43.1, you can do it this way: |
62 | 1 | Denis 'GNUtoo' Carikli | <pre> |
63 | $ ssh root@192.168.43.1 |
||
64 | </pre> |