Ne pas en savoir beaucoup sur Ubuntu; C'est ma première question ici. Alors excusez-moi si cela semble une question invalide.
On m'a dit que il est possible d'en exécuter quelques-unes commandes SSH utilisant SFTP.
Si c'est possible Quelles sont la liste des commandes prises en charge à exécuter via SFTP à distance? (Commandes SSH ou émulation SSH); pas le PUT, GET etc ..
Le scénario que j'essaie de réaliser est le suivant:
Ou du moins si c'est possible; créer des scripts bash et exécuter sFTP
Mise à jour: J'ai une autre question connexe; Est-il possible de modifier un fichier en utilisant SFTP? Ajouter ou modifier une ligne dans un fichier distant?
Une dose qui nécessite une capacité de combat sur le serveur sFTP?
S'il vous plaît des conseils et si vous pouvez partager un lien vers la liste complète ou des lectures supplémentaires! Je vous remercie
Vous pouvez uniquement exécuter des commandes sur le système local à l'aide de SFTP. Exécutez help
pour voir quelles commandes sont disponibles:
sftp> help
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp grp path Change group of file 'path' to 'grp'
chmod mode path Change permissions of file 'path' to 'mode'
chown own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afPpRr] remote [local] Download file
reget [-fPpRr] remote [local] Resume download file
reput [-fPpRr] [local] remote Resume upload file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afPpRr] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
rename oldpath newpath Rename remote file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local Shell
! Escape to local Shell
? Synonym for help
Comme on peut le constater, aucune commande SFTP ne permet de:
!
pour les commandes locales.Je ne m'attendrais pas à ce qu'un tel phénomène existe, puisqu'un cas d'utilisation courant de SFTP consiste à emprisonner les utilisateurs et à fournir un accès aux fichiers sans possibilité d'exécuter de commande.
Au lieu de compresser, utilisez peut-être l'option -C
avec sftp
:
-C Enables compression (via ssh's -C flag).
ssh suit la structure suivante:
ssh {user}@{IP} {command}
Lorsque vous ne fournissez pas {utilisateur}, l'utilisateur actuel est pris. Si vous ajoutez aucune commande, il se connecte au système et vous affiche une invite. Si vous ajoutez une commande, elle l'exécutera. Exemple montrant la date du système distant:
ssh 1.1.1.1 date
[email protected]'s password:
Tue Nov 7 11:17:40 CET 2017
Quelques exemples supplémentaires ...
ssh 1.1.1.1 'df -H'
ssh 1.1.1.1 uname -mrs
ssh 1.1.1.1 lsb_release -a
ssh 1.1.1.1 gzip /tmp/test
[email protected]'s password:
ssh 1.1.1.1
$ pwd
/tmp
$ ls -ltr test.gz
-rw-rw-rw- 1 rinzwind rinzwind 688 Nov 7 11:18 test.gz
Et oui, vous pouvez ajouter de telles lignes à un lot et le faire exécuter par ce script.