Ssh into the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:


== On the XO ==
== 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 ===
=== Set a password for root ===


By default, root does not have a password on the XO, and you won't be able to ssh in. Here's how to fix that.
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:
* Open the [[Terminal]] Activity
* Become root by typing (at the prompt)
<code>
su
</code>
* Set your password (follow the prompts).
<code>
passwd
</code>


sudo ifconfig eth0
=== Find out your ip address ===


This will display a lot of text. Like this:
Then we need to find the IP address we are sshing to. Still using Terminal:


eth0 Link encap:Ethernet HWaddr 00:17:C4:A7:4B:33
<code>
inet addr:10.0.0.172 Bcast:10.0.0.255 Mask:255.255.255.0
ifconfig
inet6 addr: fe80::217:c4ff:fea7:4b33/64 Scope:Link
</code>
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)


This will display a lot of text. Look at the first block (prompted by eth0)-the "inet addr:" gives you the IP address; what you're looking for is the string of numbers (4 numbers separated by periods).
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 ==
== On the other computer ==

Revision as of 03:19, 6 August 2011

Emblem-warning.png The currency of this article or section may be limited by out-of-date information.
There may be relevant discussion on its talk page

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

Now open up a terminal on the other computer you want to ssh in from.

  • Linux and Mac OS X users should already have a built-in terminal application: in that terminal, type

ssh root@<ip-address>

where <ip-address> is replaced by the IP address for your XO.

  • Windows users will want to download puTTY, launch the .exe, and type root@<ip-address> in the ip address entry field, and hit "Open." (hit "Yes" for any pop-ups that come up.)

You'll be prompted for a password either way; use the one you just set for root.

You'll see a shell prompt if you are successful.