Ssh into the XO

From OLPC
Revision as of 19:49, 26 October 2011 by Quozl (talk | contribs) (troubleshooting section that was contributed was inserted in to the middle of the microsoft windows section.)
Jump to: navigation, search

Sometimes you'll want to access your XO remotely from another computer. To do this, we can use ssh. Here's how.

On the XO

Enable remote login

On OLPC OS 10.1.3 and prior versions, remote login is enabled by default, though without a password defined.

On OLPC OS 11.2.0 and later versions, remote login is disabled by default. To enable it, start the Terminal activity and then cut and paste these two lines:

sudo chkconfig sshd on
sudo service sshd start

Set a password for root

By default, root does not have a password, and therefore cannot be used for for remote login. To set a password for root, start the Terminal activity and then copy and paste this line:

sudo passwd

Follow the prompts. This is what it might look like:

[olpc@xo-a7-4b-33 ~]$ sudo passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[olpc@xo-a7-4b-33 ~]$ 

Find the IP address

Remote login needs a host name or IP address. To find the IP address, right-click on the network device icon in the frame. The IP address will be shown.

If that doesn't work, we have an old method still available; use the Terminal activity copy and paste this line:

sudo ifconfig eth0

This will display a lot of text. Like this:

eth0      Link encap:Ethernet  HWaddr 00:17:C4:A7:4B:33  
          inet addr:10.0.0.172  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::217:c4ff:fea7:4b33/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5537 (5.4 KiB)  TX bytes:17090 (16.6 KiB)

You can find the IP address in the second line, just after the words inet addr:. It should be four numbers separated by periods. In the example above, the IP address is 10.0.0.172.

On the other computer

You will need an SSH client program. Some computers have one already, some need one installed. See Wikipedia's comparison of SSH clients.

Give root@IP to your SSH client program, where IP is the IP address of the XO you wish to login to. You will be prompted for the password. You'll see a shell prompt once login is successful.

Linux or Mac OS X

Both Linux and Mac OS X typically have SSH installed already.

Start the Terminal application, then type:

ssh root@IP

Another XO

Any XO running OLPC OS will have SSH installed already.

Start the Terminal activity, then type:

ssh root@IP

Microsoft Windows

Microsoft Windows does not include an SSH client program by default.

See Comparison of SSH clients. One client regularly suggested is PuTTY. Run the program, then type

root@IP

in the ip address entry field, then press "Open".

Troubleshooting

If you can't connect to your XO (or SoaS) with SSH client and receive a message from your client with something like "Remote server refused connection", you may try to turn off the XO (or SoaS) firewall (iptables) with:

sudo service iptables stop

It's recommended to turn on firewall after finishing with ssh with:

sudo service iptables start

If you have enabled advanced XO power management it may cause (wireless) network disconnecting. The XO loses its IP address and remote client can't reach it. In such situation try to restart XO network with:

sudo service network restart