2017-09-29 6 views
1

ローカルのsshキーを使用して3番目のリモートマシンからgitサーバーにアクセスする方法があるかどうかを知りたい。 例: PC1、PC2、GITSERVERという3台のコンピュータがあるとします。ローカルのsshキーを使用して3台目のコンピュータにアクセスする方法は?

私は自分のsshキーをGITSERVER上で許可されているPC1に保存しています。私はsshからPC1に、PC2はGITSERVERに保存されているリポジトリを複製したいところです。

私の秘密鍵をコピーしたり、新しいものを作成したりすることなく、これを行う方法がありますか?

答えて

1

からPC2とクローンへのログインは、ssh_configファイルはあなたを助けることができます。 しかし、あなたはいつも秘密鍵をあなたと一緒に取っています。リモートマシンで秘密鍵を使用したくない場合があります。あなたがリモートマシンにあなたとあなたの鍵を取りたい場合は、このために 、あなたはホストごとに定義することができます。これを実装する

$ vim ~/.ssh/config 
Host remote-pc2 # local name of the host (You can use this on your local terminal to connect to the remote host) 
HostName 127.0.0.1 # enter correct IP here 
User francesco # your login name 
ForwardAgent yes 

別の方法: あなたはssh-agentを開始し、それにキーを追加し、することができますあなたの.bashrcで行うことができます:あなたはsshセッションを起動するたびにパスワードを入力する必要がないように

$ vim ~/.bashrc 
eval `ssh-agent -s` 
ssh-add ~/.ssh/id_rsa 
# check if key is there 
$ ssh-add -l 

これは、あなたを助けます。 このコマンドで接続するには、ローカルマシンのsshキーを別のマシンに接続することができます。

$ ssh -A [email protected] 
+0

これは安全ですか?つまり、攻撃者が自分の秘密鍵に関する情報を得ることは可能でしょうか? –

+0

さて、ssh転送エージェントと同じくらい保存されています。私はそれを信じている。しかし、いくつかの人はssh-agentを保存しない(別の公共のコンピュータに接続する場合)と考えています。つまり、https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/ しかし、自分のコンピュータに接続するだけなので、セキュリティパッチがインストールされている限り、これを保存と見なします:) – muehsi

1

1つの方法は、SSHエージェントを転送することです。まず、ssh_configファイルを開き、2行追加します。

$ sudo nano /etc/ssh/ssh_config 

Host <PC2-server-ip.com> 
ForwardAgent yes 

エージェントのリストにsshキーを追加します。

$ eval "$(ssh-agent)" 
$ ssh-add ~/.ssh/id_rsa   # add ssh key to list of agent 
identites 
$ ssh-add -l      # you can see the agent just added 

さて、GITSERVER

Sajibカーンは述べたよう
$ ssh <user>@<pc2-server-ip> 
$ git clone ... 
関連する問題