GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara scp melalui mesin perantara?

Saya menyarankan yang berikut di .ssh/config Anda :

Host C
    User user
    ProxyCommand ssh -W %h:%p [email protected]

Saya tidak jauh lebih aman jika host B tidak dipercaya, dan berfungsi untuk scp dan sftp.


Seperti yang dijelaskan dalam jawaban ini, Anda dapat menggunakan ProxyCommand direktif untuk memiliki ssh host memantulkan Anda ke host ketiga secara transparan:

Katakanlah Anda memiliki tiga host berikut:

  • workstation.example.com - Ini adalah mesin yang sedang Anda kerjakan secara fisik
  • proxy.example.com - Ini adalah mesin tempat Anda merutekan lalu lintas SSH Anda
  • endpoint.example.com - Di sinilah Anda ingin lalu lintas berakhir

Di ~/.ssh/config pada workstation , tambahkan berikut ini:

Host endpoint
    User endpointUser # set this to the username on the endpoint host
    HostName endpoint.example.com
    ProxyCommand ssh [email protected] nc %h %p 2> /dev/null

Di proxy tuan rumah, pastikan nc (netcat) diinstal.

Lalu, pada workstation , Anda dapat ssh endpoint atau sftp endpoint dan Anda akan diproksi secara transparan ke mesin melalui host proxy Anda. scp juga akan berfungsi.


Itu mungkin dan relatif mudah, bahkan saat Anda perlu menggunakan sertifikat untuk autentikasi (umumnya di lingkungan AWS).

Perintah di bawah ini akan menyalin file dari remotePath di server2 langsung ke mesin Anda di localPath. Secara internal, permintaan scp diproksi melalui server1.

scp -i user2-cert.pem -o ProxyCommand="ssh -i user1-cert.pem -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Jika Anda menggunakan autentikasi kata sandi, coba dengan

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Jika Anda menggunakan kredensial pengguna yang sama di kedua server:

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Linux
  1. Ssh – Membatasi Pengguna Ssh/scp/sftp ke Direktori?

  2. Ssh – Bagaimana Cara Mengedit File dari Jarak Jauh Melalui Ssh?

  3. Bagaimana Cara Scp Melalui Mesin Menengah??

  1. Cara Menggunakan Tunneling SSH untuk Mengakses Server yang Dibatasi

  2. Bagaimana cara terhubung ke mesin virtual hyper-v lokal melalui SSH?

  3. Bagaimana cara menentukan apakah saya masuk melalui SSH?

  1. Ssh – Bagaimana Menghindari Ssh Meminta Izin?

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

  3. Bagaimana cara mentransfer kunci SSH saya ke komputer lain?