mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-13 20:27:29 -05:00
31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
---
|
|
title: "SSH Connection Sharing"
|
|
date: 2020-06-05T16:39:24-04:00
|
|
draft: false
|
|
tags: ["SSH"]
|
|
medium_enabled: true
|
|
---
|
|
If you're like me, you open a lot of different terminal sessions throughout your day. When it comes to SSH, I want these different sessions to share a connection rather than creating a new one each time.
|
|
|
|
To accomplish this, I have the following in my `~/.ssh/config` file.
|
|
|
|
```
|
|
ControlMaster auto
|
|
ControlPersist no
|
|
ControlPath ~/.ssh/sockets/socket-%r@%h:%p
|
|
```
|
|
|
|
| Option | Description |
|
|
| ---------------- | ------------------------------------------------------------ |
|
|
| `ControlMaster` | Allows connection sharing |
|
|
| `ControlPersist` | `yes` to keep connection up even when no clients are connected.<br />`2s` (or custom timeout) to keep the connection up for 2 seconds after no clients are connected.<br />`no` to disconnect immediately |
|
|
| `ControlPath` | Where to store connection information. This should not be writable by other users. |
|
|
|
|
|
|
You'll also need to create the `sockets` folder if you don't have it already setup.
|
|
|
|
```bash
|
|
mkdir ~/.ssh/sockets
|
|
chmod go-w ~/.ssh/sockets
|
|
```
|
|
|