
저는 안전한 방법으로 젠킨스를 통해 한 Windows 컴퓨터에서 다른 Windows 컴퓨터로 파일을 복사해야 하는 작은 프로젝트를 진행하고 있습니다. Jenkins의 SSH 플러그인을 통한 게시에 대해 들었습니다. 나는 그것을 설정하려고 시도했지만 운이 없었습니다. 누구든지 그런 일을 하고 나를 도와줬나요? 문제를 해결하기 위해 두 Windows 서버 모두에 cygwin과 함께 openssh를 설치하고 SCP를 통해 파일을 복사하려고 시도했거나 cygwin을 통해 Linux 방식으로 두 호스트를 모두 SSH를 통해 연결하려고 시도했지만 항상 오류가 발생합니다.
ssh 3612 tty_list::allocate_tty: tty가 할당되지 않았습니다. 또는
scp 2680 tty_list::allocate_tty: tty가 할당되지 않았습니다.
도와주세요!
답변1
SSH를 통해 전송하기 위해 Jenkins 작업 구성에 "exec in pty" 확인란이 설정되어 있습니까?
의사 tty에서 명령을 실행합니다.
이렇게 하면 tty가 필요한 sudo 명령을 실행할 수 있습니다(다른 시나리오에서도 도움이 될 수 있음). sudoers(5) 매뉴얼 페이지에서:
requiretty를 설정하면 사용자가 실제 tty에 로그인한 경우에만 sudo가 실행됩니다. 이 플래그가 설정되면 sudo는 로그인 세션에서만 실행할 수 있으며 cron(8) 또는 cgi-bin 스크립트와 같은 다른 방법을 통해서는 실행할 수 없습니다. 이 플래그는 기본적으로 꺼져 있습니다.