前提・実現したいこと
初めての質問です。
JavaScript(Node.js,Electron)を最近学習しております。
文章で稚拙なところがありましたら申し訳ございません。
Linuxサーバー(RaspberryPi)にlsコマンドを投入するElectronアプリを作っています。
sshで公開鍵認証によるログインを行ったあと、lsコマンドを投入し画面上に表示させる機能を作りたいのですが、
起動時に後述のエラーメッセージが出力されました。
鍵ファイルを指定する方法がわからず、質問させていただきました。
誤っている箇所についてご教示お願いいたします。
発生している問題・エラーメッセージ
Uncaught (in promise) Error: config.privateKey does not exist at given fs path
該当のソースコード
javascript
1// sshlogin.js 2 3const Ssh = require('node-ssh'); 4 5async function main(sshIpaddress,sshUser,sshPrivateKey,sshPassPrase) { 6 const ssh = new Ssh(); 7 8 // 接続 9 await ssh.connect({ 10 host: sshIpaddress, 11 port: 22, 12 username: sshUser, 13 privateKey: sshPrivateKey, 14 passphrase: sshPassPrase 15 }); 16 17 // コマンド実行 18 let Res = await ssh.execCommand('ls', {options: {pty: true}}); 19 // HTML置き換え 20 document.getElementById("ls").innerHTML = Res.stdout; 21 22 // 切断 23 ssh.dispose(); 24} 25 26// 鍵が見つからない。★ 27main("IPaddr","Username","../key/id_rsa","PassPhrase");
試したこと
・process.cwd()でディレクトリのパスを確認しフルパスで指定するように試みましたが同一のエラーメッセージとなりました。
・デベロッパーモードよりkey/id_rsaが存在しているか確認しましたが、見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
・バージョンは下記です。
node.js v12.16.2
electron@8.2.1
node-ssh@8.0.0
・ディレクトリの構成は下記となります。
Project/
├ node_modules/
├ src/
│ ├js/sshlogin.js
│ ├key/id_rsa
│ ├index.html
│ └main.js
│
└package.json
・起動方法は下記です。
%npx electron src
以上、ご確認お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。