Solution 1 :
Vous pouvez toujours faire ceci :
ssh example@unixlinux.online ls -l /some/directory
Cela vous permettra de vous connecter en SSH à l'hôte, d'exécuter ls, de vous renvoyer la sortie et de vous déconnecter immédiatement.
Solution 2 :
Pour lister tous les fichiers d'un répertoire :
rsync host.name.com:directory/path/'*'
Pour quelque chose comme find directory/path -ls
rsync -r host.name.com:directory/path
Solution 3 :
Pour tous ceux qui viennent via google à cette question car ils recherchent un moyen de lister les fichiers distants mais ne peuvent pas accéder au serveur distant via ssh (cas courant pour les serveurs de sauvegarde), vous pouvez utiliser 'sftp'.
Exemple :
sftp example@unixlinux.online
ls
cd somedir
exit
Démarrer une session interactive dans un répertoire distant spécifique :
sftp [example@unixlinux.online]host[:dir]
Solution 4 :
Oui. SSH et faites un ls :
ssh host ls /path
Vous pouvez facilement créer un script pour être plus flexible ou utiliser la syntaxe host:path scp utilise.
Solution 5 :
Les réponses ci-dessus n'envisagent pas le moment où vous devez ajouter un mot de passe. Pour inclure le mot de passe et le nom d'utilisateur dans une seule commande, installez sshpass .
Pour mac :$ brew install hudochenkov/sshpass/sshpass
Pour Linux :sudo apt-get install sshpass -y
Ensuite :
$ sshpass -p your_password ssh example@unixlinux.online ls /path/to/dir/
Vous pouvez également enregistrer la sortie :
$ sshpass -p your_password ssh example@unixlinux.online ls /path/to/dir/ > log.txt
En 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')