# 1Password for SSHを使う

### **1Password for SSHを使う** <a href="#v7gza6qu68ur" id="v7gza6qu68ur"></a>

1Passwordを使ってSSHキーを生Createし、お気に入りのGitプラットフォームに公開鍵を自動入力できます。次に、1Password SSHエージェントをセットアップし、SSHまたはGitクライアントを設定して、1Password SSHエージェントを使ってGitおよびSSHのワークフローを認証できるようにします。

次の例では、GitHub を使ってSSHのワークフローを最初から最後まで説明していますが、お気に入りのGitまたはクラウドプラットフォームで使うために手順を変更することもできます。

### **必要条件** <a href="#r7k0o3m8f48f" id="r7k0o3m8f48f"></a>

* Mac\
  1Passwordサブスクリプション\
  1Password for Mac\
  Safari、Chrome、Firefox、Edge、Brave用の1Passwordエクステンション。ブラウザーでSSHキーを生Createして入力できます。

  💡ヒント\
  1Password SSHエージェントを使う際の最高のエクスペリエンスを実現するために、Touch IDまたはApple Watchを設定して 1Password のロックを解除し、SSHキー要求を認証することができます。
* Windows\
  1Passwordサブスクリプション\
  1Password for Windows\
  [Microsoft OpenSSH](https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview)

Chrome、Firefox、Edge、Brave用の1Passwordエクステンション。ブラウザーでSSHキーを生Createして入力できます。

* Linux

1Passwordサブスクリプション

1Password for Linux

Safari、Chrome、Firefox、Edge、Brave用の1Passwordエクステンション。ブラウザーでSSHキーを生Createして入力できます。

\
⚠️注意\
1Password SSHエージェントは、[Flatpak](https://flatpak.org/)またはSnap Storeの1Passwordインストレーションでは動作しません。SSHエージェントを使うには、別の方法で[1Password for Linux](https://support.1password.com/install-linux/)をインストールしてください。

### **ステップ 1：SSHキーを生Createする** <a href="#ue5np35ye5df" id="ue5np35ye5df"></a>

* ①1Passwordアプリを開いてロックを解除し、Personal、Private、またはEmployeeの保管庫に移動します。この保管庫の名前は、アカウントの種類によって異なります。![Ed25519 キー タイプを選択して新しい SSH キー項目を生成します。](/files/FZ0KqYq5sxWuvZzuZHWa)
* ②\[New Item] をクリックし、\[SSH Key]を選択します。
* ③\[Add Private Key] > \[Generate New Key]をクリックします。
* ④SSHキーの種類として [Ed25519またはRSA](https://developer.1password.com/docs/ssh/manage-keys/#supported-ssh-key-types)を選択し、\[Generate]をクリックします。
* ⑤完了したら、\[Save]をクリックします。

1Passwordは、秘密鍵と公開鍵とそのフィンガープリントを含むSSHキーを生Createします。

詳しく知るには、[SSHキーの生Createまたはインポート](https://developer.1password.com/docs/ssh/manage-keys/)、さらに[1Password SSHエージェントで使用できるSSHキー](https://developer.1password.com/docs/ssh/agent/#eligible-keys)のページをご覧ください。

### **ステップ2：公開鍵をアップロードする** <a href="#njnk3bnsw5xn" id="njnk3bnsw5xn"></a>

SSHキーを生Createしたら、GitHubアカウントに公開鍵を追加できます。GitHubのSSHキー[設定ページ](https://github.com/settings/ssh/new)にアクセスし、 1Passwordブラウザーエクステンションまたはデスクトップアプリを使って公開鍵をアップロードします。

* ブラウザーエクステンションを使う場合\
  ①GitHubの設定ページで、\[Title]または\[Key]のフィールドを選択します。 1Passwordに候補が表示されない場合は、フィールド内の1Passwordアイコンをクリックします。 ②先ほどCreateしたGitHubSSHキーを選択します。1Passwordが対応するフィールドに公開鍵とタイトルを自動的に入力します。\
  ③設定ページで\[Add SSH Key]をクリックしてGitHubアカウントにキーをSaveします。![1Password デスクトップ アプリで選択された GitHub SSH キー項目。公開キー フィールドが選択され、コピーする準備が整いました。](/files/KSE4yf6HOUyI2EBlqulo)

\
これでSSHキーを使ってGitHubで認証できるようになりました。他のGitやクラウドプラットフォームを使う例については、”[Autofill public keys](https://developer.1password.com/docs/ssh/public-key-autofill/)”のページを参照してください。

* デスクトップアプリを使う場合![](/files/vD2iDZaZgRYzjKDFVhtn)
* \
  ①1PasswordでCreateしたGitHubSSHキーに移動して選択します。
* ②アイテムの詳細から公開鍵をコピーし、GitHub設定ページのキーフィールドに貼り付けます。[クイックアクセス](https://support.1password.com/quick-access/)を使って公開鍵を検索してコピーすることもできます。
* ③次に、設定ページで\[Add SSH Key]をクリックして、キーをGitHubアカウントにSaveします。

SSHキーを使ってGitHubで認証できるようになりました。

他の Git またはクラウド プラットフォームを使う例については、”[Autofill public keys](https://developer.1password.com/docs/ssh/public-key-autofill/)”を参照してください。

### **ステップ3：1Password SSHエージェントを有効にする** <a href="#bv6c5xuwdzaa" id="bv6c5xuwdzaa"></a>

1PasswordデスクトップアプリにはSSHエージェントが含まれており、これをオンにするとバックグラウンドで実行され、SSHクライアントの認証を処理します。

SSHエージェントをオンにするには、次の手順に従ってください。

* Mac\
  ①1Passwordアプリを開き、メニューバーから\[1Password] > \[Settings]を選択し、\[Developer]を選択します。\
  ②\[Set Up SSH Agent]を選択し、接続を承認する際にSSHキー名を表示するかどうかを選択します。\
  ③（オプション）SSHエージェントがいつ、どのくらいの頻度でSSHリクエストの承認を求めるか、[承認オプションを調整](https://developer.1password.com/docs/ssh/get-started/#adjust-your-authorization-options)します。

  以前にSSHエージェントをオフにし、再びオンにしたい場合は、\[Use the SSH agent]チェックボックスを選択します。\
  接続を認証する際にSSHキー名を表示するように選択すると、SSHクライアントからの要求を認証する際に、1Passwordがどのキーへのアクセスを要求しているのかを識別しやすくなります。認証プロンプトにキー名を表示するには、[1PasswordがSSH KeyアイテムのタイトルをローカルストレージにSaveする](https://developer.1password.com/docs/ssh/agent/security/#local-storage)必要があります。この機能をオフにするには、Securityセクションの\[Display key names when authorizing connections]チェックボックスの選択を外します。1Passwordアプリを閉じてもSSHエージェントが実行され続けるようにするには次のようにします。

  ①1Passwordアプリを開き、メニューバーから\[1Password] > \[Settings]を選択し、\[General]を選択します。\
  ②\[Keep 1Password in the menu bar]と\[Start at login]のチェックボックスを選択します。\
  ![](/files/kMYwKuLHkMpzAzxFb4oQ)![](/files/tm1Go6GrXmb1eEFfKijd)
* Windows\
  ⚠️注意\
  1Password SSHエージェントは、Microsoft OpenSSHをサポートするSSHクライアントでのみ動作します。 詳細については、SSHクライアントの互換性を参照してください。

**OpenSSH認証エージェントサービスがインストールされ、実行されているか確認する**

1Password で SSH エージェントをオンにする前に、OpenSSH 認証エージェントサービスがインストールされているか確認する必要があります。

\
①\[Services] > \[OpenSSH Authentication Agent]に進みます（キーボードで Win + R を押してRunウィンドウを開き、services.mscと入力してEnterキーを押すか、\[OK]をクリックします）。\
②サービスの一覧から\[OpenSSH Authentication Agent]を探します。

リストにOpenSSH Authentication Agentがない場合は、[1PasswordのSSHエージェントをオンにする](https://developer.1password.com/docs/ssh/get-started/#turn-on-the-ssh-agent-in-1password)手順に進んでください。 リストにOpenSSH Authentication Agentが表示されている場合は、この手順を続けて起動を無効にし、実行されていないことを確認してください。

③サービスの一覧から\[OpenSSH Authentication Agent]を選択し、Enterキーを押します。\
④\[Startup type]メニューで、\[Disabled]を選択します。サービスのステータスでエージェントが実行中であることが表示されている場合は、\[Stop]をクリックします。\
⑤\[Apply]をクリックし、\[OK]をクリックします。

その後は、1Password SSHエージェントが引き継ぎ、システム全体パイプの\\\\.\pipe\openssh-ssh-agentをリッスンできるようになります。![](/files/Zt1zvIu1fUEH5Tzbs4HG)

**1PasswordのSSHエージェントをオンにする**![](/files/70UDk981fINA6HSedlFr)

1PasswordでSSHエージェントをオンにするには、以下の手順に従ってください 。

①1Passwordアプリを開き、サイドバーの上部にあるアカウントまたはコレクションをクリックし、\[Settings] > \[Developer]を選択します。

②\[Set Up SSH Agent]を選択し、接続を承認する際にSSHキー名を表示するかどうかを選択します。

③（オプション）SSHエージェントが SSHリクエストの承認を求めるタイミングと頻度の[承認オプションを調整](https://developer.1password.com/docs/ssh/get-started/#adjust-your-authorization-options)します。

\
以前にSSHエージェントをオフにしており、再度オンにする場合は、\[Use the SSH agent]チェックボックスを選択します。

接続を認証する際にSSHキー名を表示するように選択すると、SSHクライアントからの要求を認証する際に、1Passwordがどのキーへのアクセスを要求しているのかを識別しやすくなります。認証プロンプトにキー名を表示するには、[1PasswordがSSHキーアイテムのタイトルをローカルストレージにSaveする](https://developer.1password.com/docs/ssh/agent/security/#local-storage)必要があります。この機能をオフにするには、\[Security]セクションの\[Display key names when authorizing connections]チェックボックスの選択を解除します。

1Passwordアプリを閉じてもSSHエージェントが実行され続けるようにするには次のようにします。

①1Passwordを開き、サイドバーの上部にあるアカウントまたはコレクションをクリックし、\[Settings] > \[General]を選択します。\
②\[Keep 1Password in the notification area]チェックボックスを選択します。![](/files/DWYA0ehu3Pl7drW9OO89)

* Linux\
  ①1Passwordアプリを開き、サイドバーの上部にあるアカウントまたはコレクションをクリックし、\[Settings] > \[Developer]を選択します。\
  ②\[Set Up SSH Agent]を選択し、接続を承認する際にSSHキー名を表示するかどうかを選択します。\
  ③（オプション）SSHエージェントが SSHリクエストの承認を求めるタイミングと頻度の[承認オプションを調整](https://developer.1password.com/docs/ssh/get-started/#adjust-your-authorization-options)します。

  以前に SSHエージェントをオフにし、再びオンにしたい場合は、\[Use the SSH agent] チェックボックスを選択します。![](/files/MY81pXHFNsBJUUIoHSyX)

接続を認証する際にSSHキー名を表示するように選択すると、SSHクライアントからの要求を認証する際に、1Password がどのキーへのアクセスを要求しているのかを識別しやすくなります。 認証プロンプトにキー名を表示するには、[1PasswordがSSH KeyアイテムのタイトルをローカルストレージにSaveする](https://developer.1password.com/docs/ssh/agent/security/#local-storage)必要があります。 この機能をオフにするには、\[Security]セクションの\[Display key names when authorizing connections]チェックボックスの選択を外します。

1Passwordアプリを終了してもSSHエージェントが実行され続けることを確認するには次のようにします。

①1Passwordを開き、サイドバーの上部にあるアカウントまたはコレクションをクリックし、\[Settings] > \[General]を選択します。\
②\[Keep 1Password in the notification area]チェックボックスを選択します。![](/files/Nxjc9jOEetJJAVQWUoiI)

### **ステップ4：SSHまたはGitクライアントを設定する** <a href="#id-2sjgyjmmaltz" id="id-2sjgyjmmaltz"></a>

1PasswordでSSHエージェントをオンにした後は、認証にエージェントを使うようにSSHクライアントを設定する必要があります。

* Mac\
  IdentityAgentスニペットを\~/.ssh/configファイルに追加します。\
  Host \*\
  IdentityAgent "\~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

  まだ\~/.sshフォルダや設定ファイルが存在しない場合は、最初にCreateしてください。SSHコマンドを実行するシェルでSSH\_AUTH\_SOCK環境変数を設定することもできます。\
  export SSH\_AUTH\_SOCK=\~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock\
  エージェントのパスを入力しやすくするには、オプションで以下のコマンドを実行し、\~/.1password/agent.sockのシンボリックリンクをCreateします。\
  mkdir -p \~/.1password && ln -s \~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock \~/.1password/agent.sock

  これでSSHクライアントは全てのホストで1Password SSHエージェントを使うようになります。\
  徐々に1Password SSHエージェントに移行したい場合は、全てのホストではなく、1つまたは複数の特定のホストに対してのみSSHエージェントを使うようにSSHクライアントを設定することができます。[段階的移行についてはこちらを](https://developer.1password.com/docs/ssh/agent/advanced/#gradual-migration)ご覧ください。

  SSHクライアントの中には、\~/.ssh/configファイルが提供する全て設定オプションをサポートしていないものもあります。[SSHクライアントの互換性について](https://developer.1password.com/docs/ssh/agent/compatibility/)はこちらをご覧ください。
* Windows\
  SSHクライアントの認証にSSHエージェントを使うための追加設定は必要ありません。GitでSSHエージェントを使うには、Gitの設定でcore.sshCommand変数を、Microsoft OpenSSHを使うように設定します。\
  git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

  gitconfigファイルを手動で編集することもできます。\
  \[core]\
  sshCommand = C:/Windows/System32/OpenSSH/ssh.exe

  1Passwordで最高のGit体験をするには、最新バージョンのGit for Windows（バージョン2.33以降）をインストールしてください。 Windows Subsytem for Linux（WSL）を使っている場合は、WSLで1Password SSHエージェントを使うことができます。
* Linux\
  IdentityAgentスニペットを\~/.ssh/configファイルに追加します。\
  Host \*\
  IdentityAgent \~/.1password/agent.sock

  \~/.sshフォルダーまたはconfigファイルがまだ存在しない場合は、まずCreateしてください。

  SSHコマンドを実行するシェルで環境変数SSH\_AUTH\_SOCKを設定することもできます。\
  $ export SSH\_AUTH\_SOCK=\~/.1password/agent.sock\
  これで、SSHクライアントは全てのホストに対して1Password SSHエージェントを使うようになります。

  1Password SSHエージェントに段階的に移行したい場合は、全てのホストではなく、1つまたは複数の特定のホストに対してのみSSHエージェントを使うようにSSHクライアントを設定できます。段階的な移行の詳細については、[こちらの高度なユースケースをご覧ください](https://developer.1password.com/docs/ssh/agent/advanced/#gradual-migration)。
* \~/.ssh/config一部のSSHクライアントは、ファイルが提供する全ての設定オプションをサポートしていません。[SSHクライアントの互換性の詳細については、こちらを](https://developer.1password.com/docs/ssh/agent/compatibility/)ご覧ください。

### **ステップ5：コマンドを起動する** <a href="#npl2r15kyh8u" id="npl2r15kyh8u"></a>

これで、GitHubで1Password SSHエージェントを使い始める準備が整いました。\
プロジェクトディレクトリーから、次のコマンドを実行します。

git pull

今すぐGitHubでgit pullを実行できるプロジェクトがない場合は、代わりに次のコマンドを実行して GitHub SSHの設定を手早くテストすることができます。

ssh -T <git@github.com>

### **ステップ6：SSHリクエストを承認する** <a href="#id-2etyc5sm86me" id="id-2etyc5sm86me"></a>

1Password は、ターミナルまたは他のSSHクライアントがSSHキーを使うことを許可するように求めます。プロンプトに示された認証オプション（Touch ID、Windows Hello、アカウント パスワードなど）を使って、この要求を承認できます。1Password がロックされている場合は、SSHエージェントが秘密鍵にアクセスできるように、アプリのロックを解除するように求められます。

![Touch ID アイコンが表示された認証プロンプト。](/files/rHLpLOPyp68rVGD6kOk7)

![1Password アカウントのパスワードを入力する必要があることを示す認証プロンプト。](/files/ycO7DdpaUJJvr2QgACrn)

![Windows Hello アイコンが表示された認証プロンプト。](/files/V5NntHtJNPHW3OUZTgiL)\
リクエストを承認すると、1Passwordがロックされるか終了するまで、再度プロンプトが表示されることなく、そのアプリケーションに対して同じSSHキーを引き続き使用できます。また、プロンプトの頻度を増やしたり減らしたりすることを含めて[認証設定の変更](https://developer.1password.com/docs/ssh/get-started/#adjust-your-authorization-options)もできます。

[1Password SSHエージェント認証モデルの詳細をご覧ください。](https://developer.1password.com/docs/ssh/agent/security/#authorization-model)

#### **認証オプションを調整する** <a href="#du3ue5fu1uql" id="du3ue5fu1uql"></a>

エージェントがSSHキーの承認を記憶する期間と、各キーに対して承認する使用方法を決定するために選択できるオプションがいくつかあります。これらのオプションによって、SSHエージェントがSSHリクエストの承認を求めるタイミングが決まります。

**1Password側での設定**

1Password を開き、サイドバーの上部にあるアカウントまたはコレクションをクリックして、\[Settings] > \[Developer]を選択します。SSHエージェントのセキュリティー設定では、ニーズに最適なオプションを選択できます。設定はいつでも変更できます。

![SSH エージェントのセキュリティ設定には、1Password が SSH リクエストの承認を求めるタイミングを示す 2 つのオプションを含むメニューが表示されます。](/files/b4FENKpeqtNhNvhbNaW5)

1Passwordは次のようにSSHリクエストの承認を求めることがあります。

* **For each new application**（デフォルト）：新しいアプリが特定のSSHキーを使うためにSSHリクエストを承認するように求められます。
* **For each new application and terminal session**：最初のオプションと同様に、特定のSSHキーを使うために、新しいアプリからのSSHリクエストを承認するように求められます。アプリがターミナルエミュレーターまたはターミナルが組み込まれたIDEである場合は、そのアプリで新しいターミナルタブがCreateられるごとにリクエストを承認するようにも求められます。

![SSH エージェントのセキュリティ設定には、1Password がキーの承認を記憶する期間のオプションを含むメニューが表示されます。](/files/MJqIVhZuN8IA8crrmqNj)

1Passwordがキーの承認を記憶する期間を選択できます。

* **Until 1Password locks**（デフォルト）：1Password がロックされるたびに、キーの承認がエージェントのメモリから消去され、以前に承認したSSHクライアントがキーを使うために再承認するように求められます。例えば、ターミナル アプリケーションが GitHub のSSHキーを使うように承認した後、1Password がロックされると、1Password がロック解除されたときに、ターミナルからの GitHubSSHキーを使うための新しいリクエストを再承認する必要があります。\
  [1Password のロック設定を変更する方法はこちらで学んでください。](https://support.1password.com/auto-lock/)
* **Until 1Password quits**：Password が終了するたびに、キーの承認がエージェントのメモリから消去されます。エージェント セッションとバックグラウンド プロセスも終了します。SSHエージェントを使ってSSHキーを使う新しいリクエストを承認するには、1Passwordを再度開く必要があります。
* **For a set amount of time**：4、12、24時間から選択できます。これらのオプションのいずれかを選択すると、1Password がロックされている場合でも、その期間中はキーの承認がエージェントのメモリに残ります。既に承認した同じSSHキーを使うために同じアプリケーションからの新しいリクエストを再承認する必要はありませんが、SSHエージェントが秘密鍵にアクセスできるように1Passwordのロックを解除するように求められます。

**認証プロンプト内**

SSHキーを使うクライアントの全ての承認プロンプトには、全てのアプリケーションでそのキーの使用を承認するオプションが含まれています。このオプションをオンにするには、\[Approve for all applications]チェックボックスをオンにします。

![1Password からの認証プロンプト。すべて許可オプションがオンになっており、すべてのアプリケーションが GitHub SSH キーを使用できることを示しています。](/files/tv3MZaG7nvzuZ3qSdSkE)

このオプションは、個々のSSHキーに対して選択できます。これにより、デバイス上の現在の OSのユーザーアカウントで実行されている全てのアプリが、エージェントセッションの期間中、そのSSHキーを使うことが一時的に許可されます（1Password の[開発者設定で選択したオプション](https://developer.1password.com/docs/ssh/get-started/#in-the-1password-settings)によって異なります）。このオプションは、他の設定と併用できます。

[SSHエージェントの認証オプションの詳細についてはこちらで詳しく説明します。](https://developer.1password.com/docs/ssh/agent/security/#authorization-options)

### **さらに詳しく知るには** <a href="#txqk2lxqnrib" id="txqk2lxqnrib"></a>

* [SSHキーを管理する](https://developer.1password.com/docs/ssh/manage-keys/#generate-an-ssh-key)
* [公開鍵の自動入力](https://developer.1password.com/docs/ssh/public-key-autofill/)
* [SSHクライアントの互換性](https://developer.1password.com/docs/ssh/agent/compatibility/)
* [高度なユースケース](https://developer.1password.com/docs/ssh/agent/advanced/)
* [1Password SSH Agentのセキュリティーについて](https://developer.1password.com/docs/ssh/agent/security/)
* [WSLで1Password SSHエージェントを使う](https://developer.1password.com/docs/ssh/integrations/wsl)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.dxable.com/1password/get-started-with-1password-for-ssh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
