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
Git
Yes
Git
Yes
SSH, SFTP
Yes
SSH tunneling
No
SSH tunneling
No
Git
Yes
Git
Yes
SSH tunneling
Yes
SSH
No
Git
Yes
SFTP
Yes
Git
Yes
Git
No
Windows
名前
SSH機能
1Passwordと互換性あり
SFTP
Yes
SFTP
No
Git
Yes
Git
Yes
Git
Yes
Git
Yes
Git
Yes
SSH, SFTP
Yes
SSH
No
SSH
No
Git
Yes
Git
Yes
SSH
No
Git
Yes
Git
Yes
Linux
名前
SSH機能
1Passwordと互換性あり
SSH tunneling
Yes
Git
Yes
Git
Yes
Git
Yes
SSH, SFTP
Yes
Git
Yes
SSH
No
Git
Yes
SSHクライアントでCreate業する
IdentityAgentでエージェントを設定する
MacとLinuxでは、ほとんどのSSHおよびGitクライアントが、対応するホストのIdentityAgent設定について~/.ssh/configファイルを確認します。その後、クライアントは設定されたエージェントソケットパスを使ってSSH認証を処理します。
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 fetchを実行するように設定されています。これにより、認証プロンプトが予期せずポップアップ表示される可能性があります。そのため、1Password は、リクエストの送信元のアプリケーションまたはウィンドウがフォアグラウンドでない場合、プロンプトを抑制するのに役立ちます。
プロンプトが抑制されている場合は、デバイスのメニューバー、タスクバー、またはシステム トレイの 1Passwordアイコンにインジケータードットが表示されます。
プロンプトにアクセスするには、1Passwordアイコンをクリックし[SSH request waiting…]を選択します。認証プロンプトがフォアグラウンドに表示され、リクエストを承認または拒否できます。
アプリケーションが変更を自動的にフェッチするときにプロンプトが表示されないようにしたい場合は、プロンプトが抑制されている場合でも、Gitクライアントで自動フェッチ設定をオフにして、代わりにオンデマンドでフェッチまたはプルのみを行うことができます。
公開鍵をIdentityFileに設定する
OpenSSH
Mac
✔︎ ジャンプホスト(-J、ProxyJump、ProxyCommand)を使うワークフローのサポート。
✔︎ エージェント転送(ForwardAgent)を使うワークフローのサポート。
✔︎ IDの一覧表示(-lおよび-L)のサポート。
✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。
✖︎ IDの追加と削除(ssh-add path/to/key 、-d、-D)はサポートされていません。
Windows
✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。
✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。
✔︎ ID の一覧表示(-lおよび-L)のサポート。
✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。
✖︎ IDの追加と削除(ssh-add path/to/key、-d、-D)はサポートされていません。
Linux
✔︎ ジャンプホスト(-J、ProxyJump、ProxyCommand)を使うワークフローのサポート。
✔︎ エージェント転送(ForwardAgent)を使うワークフローのサポート。
✔︎ IDの一覧表示(-lおよび-L)のサポート。
✖︎ ロックとロック解除(-xおよび-X)はサポートされていません。
✖︎ IDの追加と削除(ssh-add path/to/key 、-d、-D)はサポートされていません。
Cyberduck
Mac
✖︎ 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
Fork
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 設定でGitバイナリーを切り替える必要がある場合があります
Windows
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 設定でGitバイナリーを切り替える必要がある場合があります
ForkLift
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
git CLI
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Windows
Linux
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Git for Windows
Windows
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
✔︎ PowerShellとcmdのサポート。
💡WSL の場合、 npiperelayとsocatを使ってソケット接続を転送する回避策が存在します。
Gitfox
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
✖︎ Mac App Storeバージョンはサポートされていません。
GitHub Desktop
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Windows
✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✖︎ IdentityAgentを使うエージェント設定はサポートされていません。
✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。
Windows
Linux
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✖︎ IdentityAgentを使うエージェント設定はサポートされていません。
✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。
IntelliJ IDEA、WebStorm、GoLand、CLion、PhpStorm、RubyMine、AppCode。
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 ソケットパスに関するエラーが表示される場合は、Advanced Settings > SSHに移動してConfiguration files parserをOpenSSHに設定します。
Windows
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Linux
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 ソケットパスに関するエラーが表示される場合は、Advanced Settings > SSHに移動してConfiguration files parserをOpenSSHに設定します。
Nova
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。
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として設定するためのサポート。
Windows
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 設定でGitバイナリーを切り替える必要がある場合があります
Sublime Merge
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Windows
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Linux
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
TablePlus
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✖︎ IdentityAgentを使うエージェント設定はサポートされていません。
✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。
Termius
Mac
✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。
Windows
✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。
Linux
✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。
Tower
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 設定でGitバイナリーを切り替える必要がある場合があります
Windows
✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
💡 設定でGitバイナリーを切り替える必要がある場合があります。
Transmit
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✖︎ 公開鍵をIdentityFileとして設定することはサポートされていません。
✖︎ Mac App Storeバージョンはサポートされていません。
Visual Studio Code
Mac
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Windows
✔︎ OpenSSHパイプ(\\.\pipe\openssh-ssh-agent)経由でエージェントを使うためのサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Linux
✔︎ SSH_AUTH_SOCKを使うエージェント設定のサポート。
✔︎ IdentityAgentを使うエージェント設定のサポート。
✔︎ 公開鍵をIdentityFileとして設定するためのサポート。
Xcode
Mac
✖︎SSHエージェントはサポートされていません。組み込みの鍵管理システムを使用します。