GNU/Linux >> Linux の 問題 >  >> Linux

すでに転送されたSshキーをTmuxに転送する方法は?

キーが保存されているマシンからSSH経由で接続し、2番目のマシンに転送してから、tmux内からキーを使用しようとしています。 tmuxに入ると、転送が「緩む」ように見えます。 tmux内からキーを使用できるように「再度転送」するにはどうすればよいですか?

$ ssh [server] -o ForwardAgent=yes
$ git pull       # Succeeds.
$ /bin/bash
$ git pull       # Still succeeds, despite new shell.
$ exit
$ tmux attach
$ git pull       # Permission denied (publickey)

承認された回答:

既存のtmuxセッションをアタッチしている場合、シェルはログインシェルから環境変数を継承していません。特に、sshエージェントの環境変数を継承しません。

この修正を試してください:

  1. このスクリプトを作成し、$ HOME / .ssh / saveagent

    に配置します
    #!/bin/sh
    SSHVARS="SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION DISPLAY"
    
    for var in ${SSHVARS} ; do
      echo "export $var="$(eval echo '$'$var)""
    done 1>$HOME/.ssh/latestagent
    
  2. シェル起動スクリプトに追加します。たとえば、bashを使用する場合:

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. tmuxをアタッチした後、. $HOME/.ssh/latestagent


Linux
  1. SSHキーペアを生成する方法(例付き)

  2. SSHキーを設定する方法

  3. 特定のディレクトリにSSHで接続する方法は?

  1. パスワードなしでSSHログインを設定する方法

  2. リモート マシンに ssh した後、scp でローカルに戻すにはどうすればよいですか?

  3. ssh を転送するように ssh トンネルをセットアップするには?

  1. LinuxでSSHキーベースの認証を構成する方法

  2. DockerコンテナにSSHで接続する方法

  3. Ubuntu18.04でSSHキーを設定する方法