Saya menggunakan Ccygwin di WinXP (dengan bash shell). Saya ingin SCP file dari localhost saya ke mesin remote - host2. Namun, saya hanya bisa SSH ke mesin perantara - host1, dan kemudian dari sana SSH ke host2. (Catatan, saya tidak dapat mengakses host2 dari localhost saya).
Saya pikir tunneling adalah jawaban saya, tetapi ketika saya mencoba membuat tunnel
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Tetapi setelah mengetik perintah ini dan menekan enter, sistem hanya hang. Apa cara yang tepat untuk menyiapkan terowongan dan kemudian SCP file setelah?
Terima kasih, -
ssh
scp
ssh-tunnel
Dave
sumber
sumber
Jawaban:
Ini sudah dijawab terbaik di sini .
Untuk meringkas: masukkan berikut ini
~/.ssh/config
dan kemudian sederhana
scp
ke target.machine kapan saja Anda ingin proxy melalui proxy.machine!Juga berfungsi untuk
ssh
, jadi akan menghemat waktu Anda juga untuk mesin target.Kredit harus diberikan kepada pengguna24925 yang menjawab ini pada 2011.
sumber
Untuk mengatur terowongan SSH, gunakan format berikut:
Perintah ini terhubung ke
host1
asuser
dan tunnel port 9999 di komputer yang mengeluarkan perintah ke port 22 onhost2
.-N
bersifat opsional, atau Anda dapat menggunakan sesuatu sepertitop
atauwatch
untuk menjaga sesi tetap hidup jika diperlukan.Kemudian, cukup
scp
dengan host2 di localhost: 9999.sumber
scp
Sintaks perintah Anda salah. Coba ini discp -P 9999 hello.txt user@localhost:/path/to/destination/file
manauser
pengguna dihost2
mana Anda ingin login.Sejak OpenSSH 7.3 , Anda dapat menggunakan
-J
atau-o ProxyJump
untuk menentukan host bastion / jump. Oleh karena itu, ke SSHnode2
melaluinode1
:SCP tidak memiliki
-J
argumen, tetapi itu memungkinkan-o
, jadi ini berfungsi:sumber
Pertama-tama Anda dapat scp file ke host1, seperti ini:
Kemudian lakukan ini untuk mendapatkannya ke host2:
The
-t
pilihan untukssh
pasukan itu untuk mengalokasikan pseudo-terminal, yang dapat membuat lebih mudah bagiscp
pada host1 untuk meminta Anda untuk passphrase / password. Jika Anda memiliki ssh-agent yang berjalan dan terkonfigurasi di mana-mana, Anda tidak akan diminta untuk frasa sandi / kata sandi.Saya menawarkan alternatif ini, karena jika Anda menggunakan sebuah terowongan, Anda masih memerlukan dua perintah: satu untuk mengatur terowongan dan satu untuk menyalin file melaluinya. Ini sepertinya lebih sederhana.
sumber