The basic Linux terminal on a Chromebook is fine for installing a package or two. If you actually want to SSH into remote servers, run a local SSH server inside your Linux container, or manage multiple saved connections, you need a bit more setup than just opening the Terminal app.
Two different “terminals” on a Chromebook
- The built-in Terminal app — a lightweight SSH client for connecting out to remote servers. No Linux container needed.
- The Linux (Crostini) terminal — a full Debian container running on your Chromebook, where you can install packages, run scripts, and even run your own SSH server.

How to use the built-in Terminal app for SSH
- Open the launcher and search for Terminal.
- Click Add (or the “+” button) to create a new SSH connection.
- Enter a name for the connection, the server’s username, hostname or IP address, and port (default 22).
- Optionally add an SSH identity (private key) if the server uses key-based authentication instead of a password.
- Click Save, then click the saved connection to open it — a terminal window connects you to the remote server.
How to enable Linux (Crostini) for a full terminal environment
- Open Settings and go to Developers.
- Find Linux development environment and click Turn on.
- Follow the setup prompts — ChromeOS downloads and installs a Debian container (this takes a few minutes and needs a few GB of free storage).
- Once finished, a Linux terminal window opens automatically, giving you a real command line inside your Chromebook.
For managing containers, disk space, and advanced Crostini settings once it’s running, see the Crostini advanced management guide.
How to run your own SSH server inside Linux (Crostini)
- Open the Linux terminal from your launcher.
- Install an SSH server if it isn’t already present:
sudo apt install openssh-server. - Rename the file that blocks the server from starting:
sudo mv /etc/ssh/sshd_not_to_be_run /etc/ssh/sshd_not_to_be_run.bak. - Since ChromeOS’s own SSH already claims port 22 on the host, set your container’s SSH server to a different port (for example 8222) in
/etc/ssh/sshd_config. - Restart the SSH service:
sudo service ssh restart. - Add your public key to
~/.ssh/authorized_keysinside the container if you want key-based login instead of a password.
⚠ Running your own SSH server exposes a network service on your device. Only do this if you understand the security implications, and keep the container updated.
Still not working?
- Linux option missing from Settings. Some managed Chromebooks (school or work devices) have Crostini disabled by policy — check with your administrator, or see Developer Mode for unmanaged personal devices.
- SSH connection times out. Confirm the remote server’s firewall allows the port you’re using, and that you’re on a network that isn’t blocking outbound SSH traffic (common on school/work Wi-Fi).
- Running low on storage after enabling Linux. A Crostini container can grow quickly — see how to free up storage space.
FAQ
Do I need Developer Mode to use SSH on a Chromebook?
No. Both the built-in Terminal app (for connecting to remote servers) and Linux/Crostini (for a full local terminal) work without enabling Developer Mode.
Can I use a Chromebook as an SSH server permanently?
Technically yes, inside a Crostini container, but Chromebooks sleep and update automatically, which makes them unreliable as an always-on server compared to a dedicated machine.
What’s the difference between the Terminal app and Crostini’s terminal?
The Terminal app is a client for connecting to other machines over SSH. Crostini gives you a full local Linux environment where you can install and run software directly on your Chromebook.
