2 votes

La connexion WinSCP échoue lorsque la session utilise la commande "script".

Je suis nouveau sur WinSCP.
J'aimerais vous interroger sur les limites et les effets secondaires de WinSCP.

C'est mon environnement actuel.
WinSCP Version : 5.9.3
Protocole : SFTP
Serveur cible : CentOS

J'ai inséré script dans le serveur cible pour suivre les opérations des utilisateurs.
Voici le script dans .bash_profile

......
script -f /tmp/`date +%Y%m%d_%H%M%S`_$USER.log
[EOF]

Cette commande s'exécute en premier lorsque le terminal de l'utilisateur s'ouvre.

Après avoir inséré la commande dans le serveur cible, j'ai connecté le serveur cible via WinSCP.

Même si WinSCP peut être ouvert, je ne peux pas ouvrir le terminal de WinSCP.
Veuillez vous référer ici pour le journal WinSCP concernant ce cas.

J'ai trouvé sur le site officiel de WinSCP que

WinSCP ne prend pas en charge les commandes qui nécessitent une émulation de terminal ou une entrée utilisateur.

Je comprends que Quand le terminal de WinSCP s'ouvre, script s'exécute automatiquement dans ce terminal. Après script les commandes s'exécutent, une erreur s'est produite.
Veuillez vous référer au lien ci-dessus pour le journal de WinSCP.

J'ai exécuté script alors que la commande n'a pas été insérée dans le serveur cible comme variable d'environnement. J'ai reçu un message d'erreur.
Veuillez vous référer ici pour le journal winSCP concernant ce cas.

Puis-je savoir ce qui suit...

Comment script la limitation de WinSCP ?
Quel est l'effet de script sur WinSCP ?

Merci
Myo Min Thein

1voto

Martin Prikryl Points 18838

Votre commande démarre quelque chose comme un nouveau Shell.

Ce Shell ignore le fait que WinSCP a démarré une session non-interactive. Dans la session non-interactive, les shells standards (bash, etc) n'affichent pas d'invites. Alors que le script Shell affiche des invites ( [root@orctdbm20 ~]# ). WinSCP n'est pas en mesure de faire face à cela.


La raison pour laquelle vous ne pouvez pas exécuter la commande dans la fenêtre du terminal est différente. C'est parce que la commande "exiger ... l'entrée de l'utilisateur" . Il ne s'agit pas d'une simple commande qui fait quelque chose et sort. Elle démarre une nouvelle session interactive (et attend une entrée de l'utilisateur).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X