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を2回押すと、パスワードなしでキーが生成されます。)
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
組み込みの方法があります。コマンドを実行してプロセスを開始します。