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.