
Ich habe an einem kleinen Projekt gearbeitet, bei dem Dateien auf sichere Weise von einem Windows-Rechner auf einen anderen über Jenkins kopiert werden müssen. Ich habe vom Plugin „Publish over SSH“ in Jenkins gehört. Ich habe versucht, das einzurichten, aber ohne Erfolg. Hat das jemand gemacht und mir dabei geholfen? Um das Problem zu lösen, habe ich OpenSSH mit Cygwin auf beiden Windows-Servern installiert und versucht, die Dateien (über SCP) zu kopieren oder einfach beide Hosts (über SSH) auf Linux-Art über Cygwin zu verbinden, aber bekomme immer den folgenden Fehler:
ssh 3612 tty_list::allocate_tty: Kein tty zugewiesen oder
scp 2680 tty_list::allocate_tty: Kein tty zugewiesen
Bitte helfen Sie!
Antwort1
haben Sie in Ihrer Jenkins-Jobkonfiguration das Kontrollkästchen „exec in pty“ für das Senden über SSH aktiviert?
Führen Sie den Befehl in einem Pseudo-TTY aus
Dadurch wird die Ausführung von Sudo-Befehlen aktiviert, die ein TTY erfordern (und möglicherweise auch in anderen Szenarien hilfreich sein). Aus der Manpage sudoers(5):
requiretty Wenn gesetzt, wird sudo nur ausgeführt, wenn der Benutzer bei einem echten TTY angemeldet ist. Wenn dieses Flag gesetzt ist, kann sudo nur von einer Anmeldesitzung aus ausgeführt werden und nicht über andere Mittel wie cron(8) oder cgi-bin-Skripte. Dieses Flag ist standardmäßig deaktiviert.