file scp antara host menggunakan penerusan port lokal ssh

0

Saya memiliki masalah tentang mentransfer file antar host. Lingkungan lab seperti:

Tuan rumah saya & lt; - & gt; Host A & lt; - & gt; Tuan rumah B

Saya hanya memiliki akses ke Host A dan saya ingin mentransfer file ke Host B. Host A memiliki akses ke Host B.

Saya ingin menggunakan scp untuk mentransfer file dari host saya ke Host B secara langsung.

saya telah mencoba ssh -L :8899:<host-B>:22 user@host-a dan scp -P 8899 myfile.txt user@localhost:/path/to/store/files. Tetapi gagal :(

saluran 2: terbuka gagal: dilarang secara administratif: terbuka gagal   ssh_exchange_identification: Koneksi ditutup oleh host jarak jauh yang hilang   koneksi

Bagaimana saya bisa mewujudkan pekerjaan ini?

Catatan: Ketika saya ssh ke Host A, saya harus memasukkan kata sandi yang dihasilkan oleh token RSA. Apakah ini alasan mengapa saya mendapat pesan kesalahan?

ruanhao
sumber

Jawaban:

0

Itu ssh -L sintaks dengan port yang Anda daftarkan adalah: ssh -L 8899:<Host B>:22 user@<Host A>

Ini akan mendengarkan pada port 8899 pada, dan apa pun yang diterimanya akan diteruskan melalui ssh ke dan dari sana dikirim ke dalam jelas. akan berpikir itu berkomunikasi dengan sesuatu yang sedang berjalan

Saya tidak yakin bagaimana ini akan membantu Anda.

Anda dapat menyusun sesi ssh menggunakan PoxyCommand, dengan demikian:

Host Host-B
  HostName      Host-B.some.private.network.domain
  ProxyCommand          ssh -q Host-A nc %h %p

Jika ini ada di Anda .ssh/config file, ketikkan scp blah.txt <Host-B>: akan mencoba mengirim file blah.txt melalui sesi ssh ke Host-A dan dari sana ke Host-B, semua melalui ssh.

Klien ssh Anda akan bertindak seolah-olah terhubung langsung ke Host-B. Setiap prompt untuk kunci RSA dll akan kembali ke sesi ssh seolah-olah Anda sedang duduk di Host-A.

Smiling Dragon
sumber