GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Meneruskan Kunci Ssh yang Sudah Diteruskan Ke Tmux?

Saya menghubungkan melalui SSH dari mesin tempat kunci saya disimpan, meneruskan ke mesin kedua, dan kemudian mencoba menggunakan kunci dari dalam tmux. Saya tampaknya "kehilangan" penerusan saat memasuki tmux. Bagaimana cara "teruskan lagi" sehingga saya dapat menggunakan kunci saya dari dalam 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)

Jawaban yang Diterima:

Jika Anda melampirkan sesi tmux yang sudah ada, shell tidak mewarisi variabel lingkungan dari shell login Anda. Khususnya, itu tidak akan mewarisi variabel lingkungan agen ssh.

Coba perbaikan ini:

  1. Buat skrip ini dan taruh di $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. Tambahkan ke skrip startup shell Anda. Misalnya jika Anda menggunakan bash:

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. Setelah melampirkan tmux, jalankan . $HOME/.ssh/latestagent


Linux
  1. Cara Membuat Pasangan Kunci SSH (dengan Contoh)

  2. Cara Mengatur Kunci SSH

  3. Bagaimana Cara Ssh Ke Direktori Tertentu?

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Bagaimana cara scp kembali ke lokal ketika saya sudah melakukan sshed ke mesin jarak jauh?

  3. Bagaimana cara mengatur terowongan ssh untuk meneruskan ssh?

  1. Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di Linux

  2. Cara SSH Ke Wadah Docker

  3. Cara Mengatur Kunci SSH di Ubuntu 18.04