0

これがこれを投稿する適切な場所であることを願っています。

私は通常、仕事から接続する VM を持っています。自宅から接続するには、次の指示がありました。

職場のマシンから自宅のマシンにコピー&ペースト./ssh/id_rsaしてください。./ssh/id_rsa.pubまた、次のような構成ファイルを作成します。

# Debian VM
Host nacho4d.dev.acme.com
# IdentityFile ~/.ssh_acme/id_rsa
 User nacho4d
 ProxyCommand ssh ns.dev.acme.com -l nacho4d nc -w 1 %h %p
# Tunnel/springboard server 
Host ns.dev.acme.com
# IdentityFile ~/.ssh_acme/id_rsa
 User nacho4d
 ProxyCommand ssh ts6.in.acme.com -l nacho4d nc -w 1 %h %p

したがって、すべてがうまく機能します:

$ ssh nacho4d.dev.acme.com

問題は、自分の (仕事用ではない) 秘密鍵を既に持っていて、ssh を使用する必要があるたびにそれを仕事用の .ssh フォルダーに置き換えたくないことです。退屈すぎる。

特定のキーなどを使用して特定のサーバーにのみ接続するにはどうすればよいですか?

私は自分のファイルを次のように入れてみました:

  • ~/.ssh/id_rsa→自宅の秘密鍵
  • ~/.ssh/id_rsa.pub→ホーム公開鍵
  • ~/.ssh/config→上記のような構成ファイルですが、IdentityFileが有効になっています
  • ~/.ssh_acme/id_rsa→仕事の秘密鍵
  • ~/.ssh_acme/id_rsa.pub→仕事の公開鍵

IndentityFile を含む構成ファイルを使用すると、ssh が~/.ssh_acme/id_rsaその特定のホストに対して特定のキー (この場合は を指す) を使用するようになるはずだと思いましたが、常に「アクセス許可が拒否されました」という接続がリモート ホストによって閉じられます

何か不足していますか?おそらく、公開鍵を別の場所にも提供する必要がありますか?

VM の ~./ssh/authorized_keys ファイルを確認したところ、自宅のコンピューターではなく、職場のコンピューターの ssh-rsa エントリがあります (仕事で提供されたキーを使用しているため、これは正常だと思います)。

IdentityFile ~/.ssh_acme/id_rsa期待どおりに動作しないのはなぜですか? どこかに接続する必要があるたびに、自宅/職場の鍵を交換する必要がありますか? 私はほとんど ssh の初心者ですが、これを行うには賢い方法があるに違いないと教えてくれます。

どんな助けでも大歓迎です。

4

1 に答える 1

0

どのキーがどのホストで機能するかを指定する必要はありません。キーの名前を変更し、IdentityFile各キーに行を追加するだけです。

IdentityFile ~/.ssh/id_rsa_dev_acme
IdentityFile ~/.ssh/id_rsa_in_acme

(0700) または(0600)~/.ssh_acme/id_rsaの権限が正しくないため、のキーが使用されていない可能性があります~/.ssh_acme~/.ssh_acme/id_rsa

最後に、この質問はhttp://unix.stackexchange.comでより関連性があるかもしれません

于 2013-08-07T08:09:50.653 に答える