Solution 1 :
Vous pouvez toujours faire ceci :
ssh [email protected] 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 [email protected]
ls
cd somedir
exit
Démarrer une session interactive dans un répertoire distant spécifique :
sftp [[email protected]]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 [email protected] ls /path/to/dir/
Vous pouvez également enregistrer la sortie :
$ sshpass -p your_password ssh [email protected] ls /path/to/dir/ > log.txt
En 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')