Solusi 1:
Anda selalu dapat melakukan ini:
ssh [email protected] ls -l /some/directory
Itu akan SSH ke host, jalankan ls, buang kembali hasilnya kepada Anda dan segera putuskan sambungan.
Solusi 2:
Untuk membuat daftar semua file dalam direktori:
rsync host.name.com:directory/path/'*'
Untuk sesuatu seperti find directory/path -ls
rsync -r host.name.com:directory/path
Solusi 3:
Untuk semua yang datang melalui google ke pertanyaan ini karena mereka mencari cara untuk membuat daftar file jarak jauh tetapi tidak dapat mengakses server jarak jauh melalui ssh (kasus umum untuk server cadangan), Anda dapat menggunakan 'sftp'.
Contoh:
sftp [email protected]
ls
cd somedir
exit
Mulai sesi interaktif di direktori jarak jauh tertentu:
sftp [[email protected]]host[:dir]
Solusi 4:
Ya. SSH dan lakukan ls
:
ssh host ls /path
Anda dapat dengan mudah membuat skrip ini agar lebih fleksibel, atau menggunakan sintaks host:path scp
kegunaan.
Solusi 5:
Jawaban di atas tidak mempertimbangkan kapan Anda perlu menambahkan kata sandi. Untuk memasukkan kata sandi dan nama pengguna dalam satu perintah, instal sshpass
.
Untuk mac:$ brew install hudochenkov/sshpass/sshpass
Untuk linux:sudo apt-get install sshpass -y
Lalu:
$ sshpass -p your_password ssh [email protected] ls /path/to/dir/
Anda juga dapat menyimpan keluaran:
$ sshpass -p your_password ssh [email protected] ls /path/to/dir/ > log.txt
Di python3:
import subprocess
cluster_login_email = '[email protected]'
cluster_login_password = 'your_password'
path_to_files = '/path/to/dir/'
response = subprocess.run([
'sshpass', '-p', cluster_login_password, 'ssh', cluster_login_email, 'ls',
path_to_files], capture_output=True)
response = response.stdout.decode("utf-8").split('\n')