Solusi 1:
Anda selalu dapat melakukan ini:
ssh example@unixlinux.online 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 example@unixlinux.online
ls
cd somedir
exit
Mulai sesi interaktif di direktori jarak jauh tertentu:
sftp [example@unixlinux.online]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 example@unixlinux.online ls /path/to/dir/
Anda juga dapat menyimpan keluaran:
$ sshpass -p your_password ssh example@unixlinux.online ls /path/to/dir/ > log.txt
Di python3:
import subprocess
cluster_login_email = 'example@unixlinux.online'
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')