nodejs에서 tmux 명령을 실행하는 방법

nodejs에서 tmux 명령을 실행하는 방법

tmux cmd를 이와 같이 실행하는 방법이 있습니까?tmux 킬 서버,tmuxinator 애드온nodejs 등을 통해 온라인으로 검색했지만 오류를 제거하는 데 도움이 되는 유용한 정보를 찾을 수 없습니다.

나는 노력하고있다shelljsnpm 모듈이 작동하지 않습니다.

이 오류가 발생합니다.-

Pseudo-terminal will not be allocated because stdin is not a terminal.
Permission denied (publickey).

다음 코드 줄을 사용하여 nodejs로 tmux cmd를 실행할 때:-

shell.exec('ssh -t myremotemachineaddress tmux kill-server');
shell.exec('ssh -t myremotemachineaddress tmuxinator start rails_servers');

여기서 Shell은 변수입니다.shelljsnpm 모듈.

답변1

첫째, 원격 호스트에 공개 키 인증이 설정되어 있지 않은 것 같습니다. 그렇지 않으면 비밀번호 없이 로그인할 수 없습니다. 컴퓨터에서 키 쌍을 생성하고 ~/.ssh/authorized_keys사용자 디렉터리의 파일에 공개 키를 추가해야 합니다.

키 쌍을 생성하려면 다음을 사용하세요. ssh_keygen(비밀번호를 물을 때 Enter를 두 번 누르면 비밀번호 없이 키가 생성됩니다.)

ssh-keygen -t rsa -b 8192 -f ~/.ssh/id_yourmachine
ssh-add ~/.ssh/id_yourmachine

~/.ssh/id_yourmachine.pub~/.ssh/authorized_keys원격 호스트의 파일 에 추가해야 하는 공개 키입니다 . 그런 다음 로그인을 사용할 수 있습니다 ssh user@yourmachine.

둘째, 해당 옵션을 사용하는 이유가 확실하지 않지만 -t아마도 필요하지 않으며 첫 번째 경고를 발생시키는 것 같습니다.

이 외에도 node내장된 방법이 있습니다.명령을 실행하고 프로세스를 시작합니다.

관련 정보