回答:
編集済み:両方のマシンを所有している場合、秘密鍵を共有できます。しかし、この解決策は、盗まれたノートブックや所有していないマシンには安全ではありません。
同じ秘密鍵を使用してH2からS1にログインできるようにする場合は、秘密鍵をH1からH2にコピーできます。H1で次のコマンドを実行します。
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
警告!これにより、H2で所有していたすべての秘密キーが削除および置換されます。
より良い方法は、H2(ssh-keygen
)で新しい秘密鍵を生成し、ssh-copy-id
utilを使用して公開部分をS1にインストールすることです。このより安全なケースでは、2セットのキーがあります。1つはH1-S1ログイン用で、もう1つはH2-S1ログイン用です。S1で承認される2つの公開キーがあります。そして、それらのいずれかまたは両方を取り消すことができます(たとえば、ノートブックが盗まれたとき、またはマシンの所有者がアカウントを無効にし、すべてのファイルを再利用することにしたとき)。
つかいます ssh-copy-id
あらすじ
ssh-copy-id [-i [identity_file]] [user @] machine
記述
ssh-copy-idは、sshを使用してリモートマシンにログインし、指定されたIDファイルをそのマシンの〜/ .ssh / authorized_keysファイルに追加するスクリプトです。
H1をセットアップしたときと同じプロセス(同じ秘密キーではない)を使用してH2をセットアップします。
タイプ: ssh-keygen -t rsa
タイプ: ssh-copy-id username@S1.net
(ただし、S1とS1のホスト名で実際のユーザー名を使用し、後でS1が要求したときにパスワードを入力します)。
これにより、ワークステーションの公開鍵が~/.ssh/authorized_keys
サーバー上のそのユーザーのファイルにインストールされます。
あなたが本当に求めているのは
それを行う正しい方法は何ですか?
人々は、サーバー上の1つのアカウントが単一のユーザー名と、もちろん単一の承認されたパスワードを持っていることを頭に打ち込みました。
sshのような公開鍵システムはパスワードシステムよりも優れています。サーバー上の1つのアカウントには、単一のユーザー名と任意の数の承認された公開鍵があり、それらはすべて~/.ssh/authorized_keys
ファイルにリストされます。
(詳細)。
ssh-copy-idはあなたのために仕事をしますか:http : //linux.die.net/man/1/ssh-copy-id?
あるコンピューターから別のコンピューターへのSSHキーのシフト用。H1(古いマシン)の〜/ .sshからフォルダー全体を新しいマシンH2の〜/ .sshコンテンツフォルダーにコピーするだけです。
今すぐ試してください:
ssh ubuntu@13.123.43.26(S1 IP)
ほとんどの場合、その実行を修正するためのアクセス許可の警告が表示されます。
chmod 400〜/ .ssh / id_rsa
再び:
ssh ubuntu@13.123.43.26(S1 IP)
これで問題なく動作します。
ssh-copy-id
多くのフールプルーフ(既存のキーまたは誤ってコピーの無上書きされ、民間の代わりに、キーの公共の少ない既知の解決の鍵)が、受け入れ答えとしてそれらの答えの一つを受け入れることを検討してください。