SSHクライアントの互換性

1Passwordマニュアル|SSHエージェントの互換性について、MacやWindowsでのSSHおよびGitクライアントとの動作確認情報を詳しく解説します。

SSHクライアントの互換性

1Password SSHエージェントは、SSHとGitを使うさまざまなクライアントとの互換性がテストされています。

  • Mac

名前

SSH機能

1Passwordと互換性あり

SFTP

Yes

SSH tunneling

Yes

SFTP

Yes

Git

Yes

SFTP

Yes

Git

Yes

Git

Yes

Git

Yes

Git

Yes

Git

Yes

SSH, SFTP

Yes

SSH tunneling

No

SSH tunneling

No

SSH tunneling

Yes

SSH

No

Git

Yes

SFTP

Yes

Git

No

  • Windows

名前

SSH機能

1Passwordと互換性あり

SFTP

Yes

SFTP

No

Git

Yes

Git

Yes

SSH, SFTP

Yes

SSH

No

SSH

No

SSH

No

Git

Yes

  • Linux

名前

SSH機能

1Passwordと互換性あり

SSH tunneling

Yes

Git

Yes

Git

Yes

SSH, SFTP

Yes

SSH

No

SSHクライアントでCreate業する

IdentityAgentでエージェントを設定する

MacとLinuxでは、ほとんどのSSHおよびGitクライアントが、対応するホストのIdentityAgent設定について~/.ssh/configファイルを確認します。その後、クライアントは設定されたエージェントソケットパスを使ってSSH認証を処理します。

このオプションを使うと、複数のエージェントを並べて設定する機能など、最も柔軟性が高くなります。ただし、全てのSSHクライアントがSSH設定ファイルの全ての値に準拠しているわけではありません。以下のリストで、SSHクライアントがIdentityAgentを使う設定をサポートしているかどうかを確認できます。

SSH_AUTH_SOCKでエージェントを設定する

MacとLinux では、環境変数SSH_AUTH_SOCKを使ってエージェントソケットパスを設定することもできます。

IdentityAgentよりもSSH_AUTH_SOCKをサポートするSSHクライアントはたくさんあります。両方をサポートするクライアントの場合、通常はIdentityAgentがSSH_AUTH_SOCKよりも優先されます。

あなたのSSHクライアント用にSSH_AUTH_SOCKを設定するには、オペレーティングシステムの手順に従ってください。

  • Mac

ターミナル用のSSH_AUTH_SOCKの設定

SSH_AUTH_SOCKターミナルを設定するには、次のコマンドを実行します。

export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock

同じシェル内で実行するコマンドは全て1PasswordSSHエージェントを使います。

SSH_AUTH_SOCKをGUIアプリケーションに渡すには、次のようにopenコマンドを使ってアプリケーションを起動します。

export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock

open -a /Applications/<yourSSHclient>.app

全てのクライアント用にSSH_AUTH_SOCKをグローバルに設定する

ターミナルからクライアントを起動せずに、全てのクライアントの環境変数SSH_AUTH_SOCKを永続的に自動的に設定する場合は、次のスニペットを実行して起動エージェントをCreateします。

$ mkdir -p ~/Library/LaunchAgents

$ cat << EOF > ~/Library/LaunchAgents/com.1password.SSH_AUTH_SOCK.plist

$ <?xml version="1.0" encoding="UTF-8"?>

$ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

$ <plist version="1.0">

$ <dict>

<key>Label</key>

<string>com.1password.SSH_AUTH_SOCK</string>

<key>ProgramArguments</key>

<array>

<string>/bin/sh</string>

<string>-c</string>

<string>/bin/ln -sf $HOME/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock \$SSH_AUTH_SOCK</string>

</array>

<key>RunAtLoad</key>

<true/>

$ </dict>

$ </plist>

$ EOF

$ launchctl load -w ~/Library/LaunchAgents/com.1password.SSH_AUTH_SOCK.plist

  • Linux

ターミナル用にSSH_AUTH_SOCKを設定する

SSH_AUTH_SOCKをターミナル用に設定するには、次のコマンドを実行します。

export SSH_AUTH_SOCK=~/.1password/agent.sock

同じシェル内で実行するコマンドは全て、1PasswordSSHエージェントを使用します。

全てのクライアント用にSSH_AUTH_SOCKをグローバルに設定する

ターミナルからクライアントを起動せずに、全てのクライアントの環境変数SSH_AUTH_SOCKを永続的に自動的に設定する場合は、/etc/profile.d/内で次のスニペットを実行してログインスクリプトをCreateします。

$ echo "export SSH_AUTH_SOCK=~/.1password/agent.sock" | sudo tee /etc/profile.d/1password-ssh-auth-sock.sh

システムがGNOMEキーリングSSHエージェントを自動的に起動する場合は、次のコマンドを実行して無効にすることができます。

$ mkdir -p ~/.config/autostart \

&& cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/gnome-keyring-ssh.desktop \

&& echo "Hidden=true" >> ~/.config/autostart/gnome-keyring-ssh.desktop

これを行わない場合、オペレーティング システムによっては、GNOMEの設定(/run/user/1000/keyring/ssh)が1Passwordの設定よりも優先される場合があります。

Git自動フェッチを使う

一部のGitクライアントは、デフォルトでバックグラウンドで定期的にgit fetchを実行するように設定されています。これにより、認証プロンプトが予期せずポップアップ表示される可能性があります。そのため、1Password は、リクエストの送信元のアプリケーションまたはウィンドウがフォアグラウンドでない場合、プロンプトを抑制するのに役立ちます。

プロンプトが抑制されている場合は、デバイスのメニューバー、タスクバー、またはシステム トレイの 1Passwordアイコンにインジケータードットが表示されます。

プロンプトにアクセスするには、1Passwordアイコンをクリックし[SSH request waiting…]を選択します。認証プロンプトがフォアグラウンドに表示され、リクエストを承認または拒否できます。

アプリケーションが変更を自動的にフェッチするときにプロンプ​​トが表示されないようにしたい場合は、プロンプトが抑制されている場合でも、Gitクライアントで自動フェッチ設定をオフにして、代わりにオンデマンドでフェッチまたはプルのみを行うことができます。

公開鍵をIdentityFileに設定する

SSHクライアントが公開鍵の設定をサポートしている場合はIdentityFile、それを使ってホストを1Password の特定の鍵と一致させることができます。以下のリストで、優先するSSHクライアントがこれに該当するかどうかを確認できます。

OpenSSH

  • Mac

ssh、sftp、scp

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ ジャンプホスト(-J、ProxyJump、ProxyCommand)を使うワークフローのサポート。

✔︎ エージェント転送(ForwardAgent)を使うワークフローのサポート。

ssh-add

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IDの一覧表示(-lおよび-L)のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。

✖︎ IDの追加と削除(ssh-add path/to/key 、-d、-D)はサポートされていません。

  • Windows

Ssh、sftp、 scp

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

ssh-add

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ ID の一覧表示(-lおよび-L)のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。

✖︎ IDの追加と削除(ssh-add path/to/key、-d、-D)はサポートされていません。

  • Linux

ssh、sftp、scp

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ ジャンプホスト(-J、ProxyJump、ProxyCommand)を使うワークフローのサポート。

✔︎ エージェント転送(ForwardAgent)を使うワークフローのサポート。

ssh-add

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IDの一覧表示(-lおよび-L)のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。

✖︎ IDの追加と削除(ssh-add path/to/key 、-d、-D)はサポートされていません。

Cyberduck

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✖︎ Mac App Storeバージョンはサポートされていません。

  • Windows

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

DataGrip

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

💡 ソケットパスに関するエラーが表示される場合は、Advanced Settings > SSHに移動してConfiguration files parserをOpenSSHに設定します。

FileZilla

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

  • Windows

✖︎ OpenSSHパイプ経由のSSHエージェントはサポートされておらず、Pageantでのみ動作します。

Fork

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 設定でGitバイナリーを切り替える必要がある場合があります

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 設定でGitバイナリーを切り替える必要がある場合があります

ForkLift

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

git CLI

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Windows

WindowsでのGitの互換性については、「Git for Windows」を参照してください。

  • Linux

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

Git for Windows

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

✔︎ PowerShellとcmdのサポート。

💡WSL の場合、 npiperelayとsocatを使ってソケット接続を転送する回避策が存在します。

Gitfox

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✖︎ Mac App Storeバージョンはサポートされていません。

GitHub Desktop

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Windows

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

✖︎ SSH鍵を使うGitコミットの署名はサポートされていません。

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✖︎ SSH鍵を使うGitコミットの署名はサポートされていません。

  • Linux

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

✖︎ SSH鍵を使うGitコミットの署名はサポートされていません。

JetBrains IDE

IntelliJ IDEA、WebStorm、GoLand、CLion、PhpStorm、RubyMine、AppCode。

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 ソケットパスに関するエラーが表示される場合は、Advanced Settings > SSHに移動してConfiguration files parserをOpenSSHに設定します。

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Linux

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 ソケットパスに関するエラーが表示される場合は、Advanced Settings > SSHに移動してConfiguration files parserをOpenSSHに設定します。

Nova

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

✖︎ SSH鍵を使うGitコミットの署名はサポートされていません。

Pageant

  • Windows

✖︎ Pageantからのエージェントの使用はサポートされていません。

💡 PageantリクエストをOpenSSHエージェントパイプに転送するための回避策とオープンソースツールが存在します。

Postico

  • Mac

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。

💡 回避策として、ターミナルからSSHトンネルを設定し、localhost経由で接続するようにPosticoを設定できます。

PuTTY

  • Windows

✖︎ OpenSSHパイプ経由のSSHエージェントはサポートされておらず、Pageantでのみ動作します。

Sequel Ace

  • Mac

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。

💡 回避策として、ターミナルからSSHトンネルを設定し、localhost経由で接続するようにSequel Aceを設定できます。

Sourcetree

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 設定でGitバイナリーを切り替える必要がある場合があります

Sublime Merge

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Windows

✔︎ .gitconfigファイルを適切に設定することで、OpenSSHパイプ経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Linux

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

TablePlus

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✖︎ IdentityAgentを使うエージェント設定はサポートされていません。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

Termius

  • Mac

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。

  • Windows

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。

  • Linux

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。

Tower

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 設定でGitバイナリーを切り替える必要がある場合があります

  • Windows

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

💡 設定でGitバイナリーを切り替える必要がある場合があります。

Transmit

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。

✖︎ Mac App Storeバージョンはサポートされていません。

Visual Studio Code

  • Mac

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Windows

✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

  • Linux

✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。

✔︎ IdentityAgentを使うエージェント設定のサポート。

✔︎ 公開鍵をIdentityFileとして設定するためのサポート。

✔︎ SSH鍵を使うGitコミットの署名をサポートします。

Xcode

  • Mac

✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。