Pertanyaan Bagaimana saya bisa mengunduh file dari sesi SSH (tanpa menggunakan sftp)


Saya tahu saya bisa menggunakan pengguna @ sftp host ....

Tetapi yang saya inginkan adalah mengunduh file dari sesi yang ada.

itu adalah.

ssh pengguna @ host ... melakukan beberapa pekerjaan ...

Masalah utama yang saya miliki adalah file yang dikatakan berada di root pada server sehingga melakukan perintah sftp tidak sesederhana itu.


2
2018-04-15 21:21


asal


SSH tidak menyediakan fasilitas unduhan yang dapat Anda gunakan dalam sesi interaktif, kecuali tangkapan layar, tetapi Anda dapat menggunakannya scp seperti yang dijelaskan di bawah ini. "masalah utama" yang Anda gambarkan sangat tidak jelas; harap klarifikasi apa yang Anda coba lakukan dan kesalahan apa yang Anda dapatkan. perintah yang tepat akan membantu. - quack quixote


Jawaban:


Cara Anda menggambarkannya kedengarannya seperti masalah Anda adalah bahwa Anda tidak dapat login sebagai root melalui ssh (mungkin Anda menggunakan semacam itu su atau sudo untuk berfungsi sebagai root).

  • Jika root dapat login secara prinsip melalui ssh, tetapi Anda tidak tahu kata sandinya, Anda dapat mengatur akun root untuk memungkinkan otentikasi kunci publik dengan kunci Anda.
  • Jika itu tidak mungkin menyalin file itu ke folder yang dapat diakses ke akun yang Anda masuki (seperti Anda $HOME folder), mungkin menyesuaikan izin dan menyalin sebagai pengguna sftp atau scp.

4
2018-04-15 21:44



Juga, jika Anda masuk dan entah bagaimana dapat melihat file itu dari jarak jauh, tidak dapatkah Anda menyalinnya ke / tmp sementara, lalu scp (atau sftp) ke bawah? - Michael H.
@khedron tergantung pada file /tmp mungkin sedikit terlalu terlihat, tetapi sulit untuk mengatakannya dari pertanyaan - Benjamin Bannier


Sudahkah kamu mencoba scp? Sebagai contoh:

scp user@host:/path/to/remote-file .

1
2018-04-15 21:23





Saya tidak tahu mengapa harus sesi yang sama, tetapi jika Anda menggunakan ControlMaster dan ControlPath di ~ / .ssh / config Anda tidak harus mengotorisasi koneksi scp Anda karena multiplexing dalam koneksi yang sama. Ini juga mempercepat koneksi Anda yang Anda lakukan ke host yang sama.

Silahkan lihat http://www.linux.com/archive/feed/54498 tentang cara mengaturnya.


1
2018-04-16 11:19





Anda tidak dapat mengunduh "melalui" sesi yang ada.

scp dan sftp bekerja dengan membuat sesi baru dan berbicara dengan yang dapat dieksekusi di ujung lain yang berjalan di tempat shell.

Masalah utama yang saya miliki adalah file yang dikatakan berada di root pada server sehingga melakukan perintah sftp tidak sesederhana itu.

Anda masuk ke server jauh. Saya kira Anda bisa mendapatkan file ini di bawah akun non-root Anda. Begitu, scp harus bekerja. Pengguna yang Anda tentukan di bawah scp dapat mencapai segalanya seolah-olah Anda masuk.

Jika Anda perlu sudo atau su untuk mendapatkan file ini di sistem remote, hal yang tepat untuk dilakukan adalah salin ke direktori home pengguna normal Anda, chmod jadi pengguna normal Anda memiliki dan dapat membacanya, lalu memahaminya scp, dll. Jika file sangat besar, chmod file secara langsung sementara tanpa membuat salinan.

Hal lain yang bisa Anda coba - Jika Anda berlari milikmu Server SSH di rumah atau di mana saja, dan itu bisa dijangkau dari server SSH remote yang Anda masuki, dapat Anda gunakan scp untuk mengirimnya dari sesi jarak jauh ke sistem lokal Anda.


0
2017-10-30 13:01





Cara saya akan melakukan apa yang Anda minta adalah dengan mengaktifkan sesi login pada klien ssh Anda (Cara untuk melakukannya bervariasi. Bergantung pada file yang mungkin Anda dapatkan dengan hanya menyetel buffer penggulung besar.), Lalu base64 menyandikan file dan membunyikannya ke terminal Anda. : D

Anda kemudian dapat memotong bit asing dari kedua ujung log dan base64 decode kembali ke file asli Anda.

Sebagai contoh:

base64 < file.to.transfer

Dan kemudian, di ujung klien:

base64 -d < trimmed.log.file > destination.file

Beberapa program klien memiliki metode yang dibangun untuk melakukan banyak hal yang sama dengan, katakanlah, protokol XMODEM atau yang serupa, tetapi ketersediaan perangkat lunak transmisi di sisi server mungkin akan jauh lebih sedikit daripada untuk base64, yang termasuk dalam sebagian besar distro Linux yang saya gunakan baru-baru ini. Jika Anda memiliki klien yang mendukungnya, ia akan mengurus fase chipping dan decoding secara otomatis, yang dapat digunakan untuk file besar. Saya tidak tahu bahwa ada yang benar-benar menggunakannya sejak hari-hari BBS telnet, jadi semoga sukses.


0
2017-10-21 23:05