web-dev-qa-db-ja.com

本番環境でのSSH秘密鍵の使用

プロダクションボックスから開発環境に大量のファイルをscpする必要があります。私は開発者であり、本番マシンへの読み取りアクセスが制限されています。ファイルごとにパスワードを入力する代わりに、本番環境でキーペアを作成し、開発マシンのauthorized_keysに公開キーを保存したいと思いました。

キーは、本番環境へのLDAPログイン用です。これは安全ですか?ここで何か問題が発生する可能性がありますか?ありがとう。

生産機械はウェブ向きではありません。マシンは会社のデータセンターにあり、企業ネットワーク内からのみアクセスできると「想定されています」。

2
pslk

パスワードの入力を回避するためにこれを行っている場合は、本番環境でSSHエージェントを実行するか、そこに暗号化されていない秘密鍵を保持することを意味します。後者の場合、Productionの管理者は開発ボックスにアクセスできます。

しかし、行間を正しく読んでいる場合は、本番環境のauthorized_keysに開発キーを追加できないため、このアプローチを回避策として使用しています。その場合、あなたが望むものを得るより良い方法があります。

OpenSSHを使用している場合は、SSH接続の共有を使用することにより、パスワードベースのアクセスであってもパスワードを何度も入力することを回避できます。これを設定したら、通常は1つのウィンドウでサーバーにSSHで接続し、通常どおりパスワードを入力します。別のウィンドウでコピーを行うと、SCPクライアントは既存の接続を検出して使用し、パスワードの入力は必要ありません。

これを設定するには:

$ mkdir ~/.ssh/cm_socket

そして、以下を~/.ssh/configに追加します。

ControlMaster auto
ControlPath ~/.ssh/cm_socket/%C
ControlPersist no

この後、SSHとSCPはデフォルトで共有接続を探します。何らかの理由で2番目の非共有接続を作成する場合は、-S noneをコマンドラインに追加できます。

詳細:

2
Jander