diff --git a/components/Link.tsx b/components/Link.tsx
index 259375b587..5019fba293 100644
--- a/components/Link.tsx
+++ b/components/Link.tsx
@@ -1,5 +1,6 @@
import NextLink from 'next/link'
import { ComponentProps } from 'react'
+import { useMainContext } from 'components/context/MainContext'
const { NODE_ENV } = process.env
@@ -7,19 +8,38 @@ const enableNextLinks = false
type Props = { locale?: string } & ComponentProps<'a'>
export function Link(props: Props) {
+ const { airGap } = useMainContext()
const { href, locale, ...restProps } = props
if (!href && NODE_ENV !== 'production') {
console.warn('Missing href on Link')
}
+ const isExternal = href?.startsWith('http') || href?.startsWith('//')
+
+ // In airgap mode, add a tooltip to external links warning they may not work.
+ if (airGap && isExternal) {
+ if (restProps.className) {
+ restProps.className += ' tooltipped'
+ } else {
+ restProps.className = 'tooltipped'
+ }
+ restProps['aria-label'] = 'This link may not work in this environment.'
+ }
+
if (enableNextLinks) {
return (
-
+
)
}
- return
+ return (
+
+ )
}
diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md
index ecb39fcb6a..f8ed23038e 100644
--- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md
+++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md
@@ -81,7 +81,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
{% mac %}
-1. {% data reusables.command_line.start_ssh_agent %}
+{% data reusables.command_line.start_ssh_agent %}
2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your `~/.ssh/config` file to automatically load keys into the ssh-agent and store passphrases in your keychain.
@@ -168,15 +168,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
{% linux %}
-1. {% data reusables.command_line.start_ssh_agent %}
-
- In some Linux environments, you need root access to run the command:
-
- ```
- $ sudo -s -H
- $ eval "$(ssh-agent -s)"
- > Agent pid 59566
- ```
+{% data reusables.command_line.start_ssh_agent %}
2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
{% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md
index 745630bfb0..1d81c74a4f 100644
--- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md
+++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md
@@ -31,7 +31,7 @@ You can delete unauthorized (or possibly compromised) SSH keys to ensure that an
4. Open Terminal.
-5. {% data reusables.command_line.start_ssh_agent %}
+{% data reusables.command_line.start_ssh_agent %}
6. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older:
```shell
@@ -109,7 +109,7 @@ You can delete unauthorized (or possibly compromised) SSH keys to ensure that an
4. Open Terminal.
-5. {% data reusables.command_line.start_ssh_agent %}
+{% data reusables.command_line.start_ssh_agent %}
6. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older:
```shell
diff --git a/data/reusables/command_line/start_ssh_agent.md b/data/reusables/command_line/start_ssh_agent.md
index 8b40a0e8e7..e118fa0763 100644
--- a/data/reusables/command_line/start_ssh_agent.md
+++ b/data/reusables/command_line/start_ssh_agent.md
@@ -1,5 +1,8 @@
-Start the ssh-agent in the background.
-```shell
-$ eval "$(ssh-agent -s)"
-> Agent pid 59566
-```
+1. Start the ssh-agent in the background.
+
+ ```shell
+ $ eval "$(ssh-agent -s)"
+ > Agent pid 59566
+ ```
+
+ Depending on your environment, you may need to use a different command. For example, you may need to use root access by running `sudo -s -H` before starting the ssh-agent, or you may need to use `exec ssh-agent bash` or `exec ssh-agent zsh` to run the ssh-agent.