ssh秘密鍵を別のコンピューターにコピーします


52

別のコンピューターを使用してsshサーバーにアクセスする必要があります。これは、私の大学で最近実装されたVPNが現在のコンピューターで動作せず、サーバーへのアクセスを失ったためです。

暗号化されたsshキーを使用してsshを実行します。これらのキーを新しいコンピューター(vpnが動作するコンピューター)にコピーできますか。フォルダ内のid_rsaid_rsa.pubファイルをコピーしようとしました~/.sshが、キーを認識せず、キーを解読するためのパスワードを入力するプロンプトが表示されません。

編集:サーバーにアクセスして新しいコンピューターの新しいキーペアを生成することができず、国外にいるため物理的にアクセスできません。

ありがとう。


id_rsh」はタイプミスですか?
エンドリューク

1
試してみると、問題についてさらに学ぶことができますssh -v -i ~/.ssh/id_rsa ssh-server
アーンドリューク

それを試した。キーを送信するようですが、暗号化を解除するためにパスワードを要求することはありません。また、「サーバーでローミングが許可されていません」という奇妙な汎用メッセージが表示されます。秘密鍵は単にコピーされることを意図したものではないと推測してください;)。サーバーに手動でログインしてssh設定を変更するには、物理​​的なアクセス権を持つ誰かを信頼する必要があるようです。ご協力いただきありがとうございます。
-benj

秘密鍵は決して​​コピーしないでください!これはセキュリティ上のリスクです。新しいデバイスごとに新しいキーを生成してください!!!!
エーテル

回答:


66

秘密鍵ファイルの許可と所有権を確認してください。マニュアルから、

これらのファイルには機密データが含まれており、ユーザーは読み取り可能ですが、他のユーザーはアクセスできません(読み取り/書き込み/実行)。他の人がアクセスできる場合、sshは秘密鍵ファイルを単に無視します。

通常、キーファイルは次のようになります。

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

次の方法で実施できます。

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
ありがとう。知っておくと便利です。ファイルを別のコンピューターにコピーすると、そのユーザーの権限は変更されたように見えます。場合に応じて、chmodおよびchownスクリプトを実行しました。残念ながら、私の問題は解決しませんでした。
ベンジ

@ジョンツこれは私にとって問題の一部だったかもしれないが、他の問題があるように見えた。最終的に、誰かにサーバーに物理的にログインして、新しいキーを設定してもらいました。しかし、おそらく重要な問題をカバーしているので、これを受け入れます。
ベンジ

@benjでうまくいきました。
シンシアV

14

ssh-addサーバーにSSH接続する前に実行してみてください。パスワードの入力を求められ、その後のssh接続でプライベートキーを使用できます。

このssh-addコマンドは、キーをキーエージェントに追加します。


1
1)SSHクライアントは機能的なキーエージェントなしで対処できる、2)サーバーは「ローミングは許可されていません」メッセージで応答しない、3)sshクライアントは独自のものであるため、これが問題だとは思わないキーエージェントとの通信が何らかの方法で失敗した場合のエラーメッセージ。それについての考えを答えにしました
gertvdijk

これで問題は解決しました。これについてはGithubのドキュメントも参照してください。
IonicăBizău

8

暗号化された秘密鍵は、対応する公開鍵を暗号化しないで保持します。これは、SSHクライアントがパスワードを要求せずにリモートサーバーに接続する方法です(その時点で公開部分のみを提供します)。サーバーが公開鍵を受け入れるたびに、PC上のクライアントは秘密鍵を復号化し、パスフレーズを尋ねます。

これで、サーバーが特定のIPアドレスからの接続のみを受け入れる場合は常に、これは最初のステップで既に拒否され、サーバーから取得したメッセージ「サーバーによって許可されていないローミング」について説明します。

したがって、私の推測では、サーバーは何らかの方法でこのキーに特定のIPアドレスのみを許可するように制限されています。これはいくつかの方法で実行できますが、これは一般的な方法です~/.ssh/authorized_keys

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

パスワードなしで暗号化された秘密キーから公開キーを読み取ることができることを証明するには、次を実行します。

ssh-keygen -y -f /path/to/private/key

1
これは、SSH接続に問題があるときに答えを得るのに役立つプロセスです。ありがとうございました。
シンシアV
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.