---
title: "MacのSFTPでSSH鍵と踏み台サーバ（ProxyJump）を使う"
description: "MacでSSH鍵、エージェント、~/.ssh/config、ProxyJumpによる踏み台サーバを一度設定すれば、ターミナルでもAnyBucketでも同じようにSFTPで使えます。"
url: https://anybucket.app/ja/guides/ssh-keys-and-jump-hosts
lang: ja
---

# SSH鍵と踏み台サーバ、設定は一度だけ

パスワードの代わりに鍵でログインすることも、踏み台サーバの先にあるサーバに接続することも、Mac自身のSSHの設定で決まります。ターミナルで使えるようにすれば、AnyBucketのSFTPでもそのまま使えます。

## 要点

AnyBucketはmacOSに付属の`ssh`（`/usr/bin/ssh`）を実行するので、鍵、SSHエージェント、`~/.ssh/config`（`Host`、`IdentityFile`、`ProxyJump`）、セキュリティキーをターミナルとまったく同じように使います。ターミナルで`ssh user@host`が使えるように設定してから、AnyBucketで同じホストに接続してください。ホスト鍵は、ご自身の`~/.ssh/known_hosts`と照合されます。

## AnyBucketがSSHの設定を使う仕組み
別途、鍵を登録する場所はありません。SFTPでは、AnyBucketはターミナルと同じプログラムである`/usr/bin/ssh`を起動します。そのため：

- `~/.ssh`にある秘密鍵が使えます。
- SSHエージェントに読み込まれた鍵が使えます。
- `~/.ssh/config`のすべての`Host`ブロックが適用されます。`HostName`、`User`、`IdentityFile`、`ProxyJump`も含まれます。
- ホスト鍵は、ターミナルと共通の`~/.ssh/known_hosts`と照合されます。

目安はひとつです：**ターミナルで`ssh user@host`が使えれば、AnyBucketでも使えます**。サーバがパスワードを求める場合、パスワードはログインキーチェーンに保存されます。

## 鍵を作成してサーバに追加する
まだ鍵がない場合は：

1. ターミナルを開き、`ssh-keygen -t ed25519`を実行します。returnキーを押してデフォルトのファイル`~/.ssh/id_ed25519`のままにし、パスフレーズを決めます。
2. 公開鍵である`~/.ssh/id_ed25519.pub`を、サーバの`~/.ssh/authorized_keys`に追加するか、サーバの管理者に送ります。`.pub`の付いていないファイルは、決して共有しないでください。
3. テストします：`ssh user@host`で、サーバのパスワードを求められずにログインできるはずです。

毎回パスフレーズを入力しなくて済むように、`ssh-add`で鍵をエージェントに追加します。macOSでは、パスフレーズをキーチェーンに保存できます。

## ~/.ssh/configでサーバに名前を付ける
`Host`ブロックで、サーバに短い名前と接続のための設定を与えます：

```
Host staging
  HostName staging.example.com
  User deploy
  IdentityFile ~/.ssh/id_ed25519
```

これで、`ssh staging`を実行すると、その鍵を使って`deploy`としてログインします。AnyBucketでSFTPでサーバ**staging**に接続しても、同じブロックが適用されます。AnyBucketは、ターミナルと同じようにその名前を`ssh`に渡すからです。

## 踏み台サーバを経由して接続する
多くのサーバには、踏み台サーバ（ジャンプホスト、バスティオン）を経由しないと接続できません。ターミナルで一時的に接続するなら、`ssh -J bastion app`と入力します。これを常に使うには、`ProxyJump`を設定します：

```
Host bastion
  HostName bastion.example.com
  User me

Host app
  HostName 10.0.1.20
  User deploy
  ProxyJump bastion
```

ターミナルで`ssh app`を実行してテストします。ログインできたら、AnyBucketでSFTPで**app**に接続します。接続は自動的に踏み台サーバを経由し、アプリで追加の設定をする必要はありません。複数の踏み台を経由する場合も同じで、`ProxyJump`のあとにコンマ区切りで並べます。

## ホスト鍵：「まだ登録されていない」または「変わった」
サーバに初めて接続するとき、その鍵はまだ`~/.ssh/known_hosts`にないため、AnyBucketはターミナルと同じように、信頼する前に確認します。フィンガープリントを、サーバの管理者が公開しているものと照合してください。

鍵が**変わった**とAnyBucketに表示された場合は、いったん手を止めて理由を確認してください。サーバを再構築または再インストールしたあとなら、新しい鍵になるのは想定どおりです。そうでなければ、接続しないでください。鍵が変わっている場合、想定しているサーバと通信していない可能性があります。詳しくは[トラブルシューティング](https://anybucket.app/ja/support/troubleshooting#host-keys)をご覧ください。

## うまくいかないときは
1. **まずターミナルで試す**：AnyBucketで使っているのとまったく同じホスト名で試します（`ssh staging`）。失敗する場合、問題はアプリではなくSSHの設定にあります。
2. **`-v`を付ける**：`ssh -v staging`を実行すると、`ssh`が試す鍵と設定の行がわかります。
3. **エージェントを確認する**：`ssh-add -l`で、エージェントが保持している鍵が一覧表示されます。
4. **アクセス権を確認する**：`ssh`は、ほかのユーザが読み取れる秘密鍵を拒否します。`chmod 600 ~/.ssh/id_ed25519`で修正できます。

それでも解決しない場合は、[SFTPの鍵や踏み台サーバが使えない](https://anybucket.app/ja/support/troubleshooting#ssh-keys)をご覧いただくか、`ssh -v`の出力から個人的な情報を除いたものを添えて、サポートにメールでお問い合わせください。

## よくある質問に、お答えします

### AnyBucketは~/.ssh/configを読み込みますか？

はい。AnyBucketが実行する`/usr/bin/ssh`が、ターミナルと同じように`~/.ssh/config`を読み込みます。`Host`、`HostName`、`User`、`IdentityFile`、`ProxyJump`などです。

### 踏み台サーバはどこで設定しますか？

`~/.ssh/config`で設定します。そこに`ProxyJump`を書き、ターミナルの`ssh`でテストしてから、AnyBucketで最終的な接続先のホスト名に接続します。踏み台の経由は自動で行われます。

### SSHエージェントやセキュリティキーは使えますか？

はい。ターミナルの`ssh`で使えるエージェントやセキュリティキーは、AnyBucketでも使えます。同じ`ssh`だからです。

### AnyBucketはSFTPのパスワードをどこに保存しますか？

ログインキーチェーンに、ブックマークごとに1項目ずつ保存します。鍵は`~/.ssh`にそのまま置かれ、AnyBucketがコピーすることはありません。

### サーバの鍵が「変わりました」と表示されるのはなぜですか？

その鍵が、`~/.ssh/known_hosts`にある鍵と一致しなくなったためです。サーバを再構築したあとなら想定どおりですが、そうでなければ、理由がわかるまで接続しないでください。

## 次に読む

- [SFTP](https://anybucket.app/ja/features/sftp)
- [MacでSFTPを使う](https://anybucket.app/ja/guides/sftp-client-mac)
- [トラブルシューティング](https://anybucket.app/ja/support/troubleshooting)
- [互換性](https://anybucket.app/ja/support/compatibility)

**$9.99で購入:** https://buy.polar.sh/polar_cl_pCF9yOjezTUaUqMPyUsxEho1EjcOvo6Bk49Q929LQCQ

---

AnyBucketは[Clever Mechanisms](https://clevermechanisms.dev)による独立したソフトウェアです。Apple Inc.およびいずれのストレージプロバイダとも提携しておらず、その承認や後援を受けたものでもありません。 Independent software in the spirit of Cyberduck and the classic two-pane commanders. Not affiliated with iterate GmbH (Cyberduck). Apple、Mac、macOS、Finder、Quick Lookは、米国その他の国や地域で登録されたApple Inc.の商標です。Amazon S3はAmazon.com, Inc.の商標です。その他の製品名は、それぞれの所有者の商標です。 メールでお問い合わせ: support@clevermechanisms.dev
