Odroid XU4 (Linux) 上の Linux から Windows 上の私のコンピューターへのファイル転送を自動化しようとしています。
Windows マシンへの SSH キーで認証でき、Odroid から MobaXterm ターミナルにアクセスすることもできますが、ssh または scp コマンドを送信しようとすると、ssh User@IP [command]
またはscp [file] User@IP:[destination]
次のエラーが発生します。
1 [メイン] sshd 11572 C:\WINDOWS\SysWOW64\bsh\usr\sbin\sshd.exe: *** 致命的なエラー - C:\WINDOWS\system32\user32.dll を読み込めません、Win32 エラー 1114
次の理由により、これがどこから来ているのかわかりません。
- Python で SSH 接続とコマンドを管理しようとする前は、うまくいきました。
- エラーが発生し始めた後でも、Raspberry Pi のRaspbian で動作します。cygwin 構成で何かを誤って変更したのではないかと思いましたが、RP を介して接続してコマンドを送信できるという事実は、そうではありません。
私はまだ SSH/SCP 通信プロトコルを作成するのにまったく慣れていません。リモート ホストへのアクセスに使用される「チャネル」を変更した可能性がありますか? 誰かがこの問題に遭遇して克服しましたか?
このバグについて私が見つけた唯一のドキュメントは cygwin に関連していますが、それらはすべて 5 年以上前のものであり、Windows Server 2003、1、2 を使用しています。これに続いてパーミッションを追加することを提案する人もいますが、私はすでにそれらを持っているので、これをデバッグする方法についてのアイデアが不足しています。
構成と、このエラーの完全なコールバックを下に結合しています。すべてが壊れる前にPythonで試したことと同様に。さらに情報が必要な場合はお知らせください。
私のセットアップ:
ローカル ホスト: Odroid XU4 - Linux
- Ubuntu LTS 18.04
- アーキテクチャ: arm7l
- OpenSSH_7.6p1
- パイソン3.6
リモート ホスト: Windows 10 - 64 ビット
- モバエクスターム
- シグウィン
パイソン
Python では、Paramikoおよびscpライブラリを使用しました。次のコマンドを試しました:
from paramiko import SSHClient
from scp import SCPClient
ssh=SSHClient()
ssh.load_system_host_keys()
ssh.connect(hostname, username=USER)
これで無事接続できました。次に、paramiko と scp を介してファイルを送信する 2 つの方法を試しました。そこからエラーが発生し始めましたが、ターミナルを使用してコマンドを送信しても、上記のエラーが発生します。
os.system('scp dir/test.png USER@IP:"/cygdrive/c/Users/USER/Box/"')
そしてscpで:
def progress(filename, size, sent):
sys.stdout.write("%s\'s progress: %.2f%% \r" % (filename, float(sent)/float(size)*100))
scp = SCPClient(ssh.get_transport(), progress=progress)
scp.put(local_file, remote_destination)
フル コールバック
odroid@odroid:~$ scp -v dir/test.png
USER@IP:"/cygdrive/c/Users/USER/Box/"
実行中: プログラム /usr/bin/ssh ホスト IP、ユーザー USER、コマンド scp -v -t /cygdrive/c/Users/USER/Box/
OpenSSH_7.6p1 Ubuntu-4ubuntu0.1、OpenSSL 1.0.2n 2017 年 12 月 7 日
debug1: 構成データの読み取り /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config 行 19 : オプションを適用中 *
debug1: IP [IP] ポート 22に接続中。
debug1: 接続が確立されました。
debug1: identity file /home/odroid/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/odroid/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file orディレクトリ
debug1: ID ファイル /home/odroid/.ssh/id_dsa タイプ -1
debug1: key_load_public: そのようなファイルまたはディレクトリはありません
debug1: ID ファイル /home/odroid/.ssh/id_dsa-cert タイプ -1
debug1: key_load_public: そのようなファイルはありませんまたはディレクトリ
debug1: ID ファイル /home/odroid/.ssh/id_ecdsa タイプ -1
debug1: key_load_public: そのようなファイルまたはディレクトリはありません
debug1: ID ファイル /home/odroid/.ssh/id_ecdsa-cert タイプ -1
debug1: key_load_public: いいえそのようなファイルまたはディレクトリdebug1: ID
ファイル /home/odroid/.ssh/id_ed25519 タイプ -1
debug1: key_load_public: そのようなファイルまたはディレクトリはありません
debug1: ローカル バージョン文字列 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1
debug1: リモート プロトコル バージョン 2.0、リモート ソフトウェア バージョン OpenSSH_7.1
debug1: 一致: OpenSSH_7.1 pat OpenSSH* compat 0x04000000
debug1: 認証中の IP:22 as 'USER'
debug1: SSH2_MSG_KEXINIT 送信
debug1: SSH2_MSG_KEXINIT 受信
debug1: kex: アルゴリズム: curve25519-sha256@libssh.org
debug1: kex: ホスト キー アルゴリズム: ecdsa-sha2-nistp256
debug1: kex: サーバー-> クライアント暗号: chacha20-poly1305 @openssh.com MAC: 圧縮: なし
debug1: kex: client->server 暗号: chacha20-poly1305@openssh.com MAC: 圧縮: なし
debug1: SSH2_MSG_KEX_ECDH_REPLY を期待
debug1: サーバー ホスト キー: ecdsa-sha2-nistp256
SHA256: ksdJSQNSèsQ987S8SKHGSJBSQqshdfqf87kjj
debug1: ホスト 'IP' は既知であり、ECDSA ホスト キーと一致します。
debug1: /home/odroid/.ssh/known_hosts:1 でキーが見つかりました debug1
: 134217728 ブロック後にキーを再生成します
debug1: SSH2_MSG_NEWKEYS が送信されました
debug1: SSH2_MSG_NEWKEYS を期待します
debug1: SSH2_MSG_NEWKEYS を受信しました
debug1: 134217728ブロック後にキーを再生成しました debug1: SSH2_MSG_SERVICE_ACCEPT を
受信しました
debug1: 続行できる認証: publickey,password,keyboard-interactive
debug1: 次の認証方式: publickey debug1: 公開鍵の提供: RSA
SHA256:JBSQqshdfqf87kjj/fqf87kjjG2EGCSQqshhDsd /home/odroid/.ssh/id_rsa
debug1: サーバーはキーを受け入れます: pkalg ssh-rsa blen 279
debug1: 認証に成功しました (publickey)。
IP ([IP]:22) に対して認証されます。
debug1: チャネル 0: 新しい [client-session]
debug1: no-more-sessions@openssh.com を要求しています
debug1: 対話型セッションに入ります。
debug1: 誓約: ネットワーク
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: 送信環境。
debug1: 送信コマンド: scp -v -t /cygdrive/c/Users/USER/
1 [main] sshd 13224 C:\WINDOWS\SysWOW64\bsh\usr\sbin\sshd.exe: *** 致命的なエラー - C:\WINDOWS\system32\user32.dll を読み込めません、Win32 エラー 1114 debug1: client_input_channel_req: channel 0 rtype exit-signal reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 クリア O_NONBLOCK
debug1: fd 1 クリア O_NONBLOCK
Transferred: sent 2748、受信 2932 バイト、0.3 秒1 秒
あたりのバイト数: 送信 9984.6、受信 10653.1
debug1: 終了ステータス -1
接続が失われました