これは可能ですか、それともopensshにバグがありますか?
私コンパイラに問題があります。、コンパイラ開発者が結果を複製できるようにリモートサーバーを作成しました。奇妙なことは、同じリモートコンピュータで同じユーザーで同じコマンドを実行すると、結果とは異なる結果が出ることです。この問題の原因は何ですか?
簡単に言えば、ssh root@remote_machine 'command'
リモートコンピュータが同じであっても、他の人がコマンドを正常に実行している間、私は実行すると失敗します。本当に恥ずかしいですね。どうすればこのようなことが起こりましたか?
ssh
これは、セッションでこのコマンドを対話的に実行するときにも発生します。
ローカルコンピュータで実行すると失敗します。
[efe@efeninki ~]$ ssh [email protected]
[email protected]'s password:
[root@vultr ~]# cd test/
[root@vultr test]# ls
Address.sol solc-linux-amd64-v0.8.10+commit.fc410830 test.sh
[root@vultr test]# ./solc-linux-amd64-v0.8.10+commit.fc410830 --bin Address.sol
Error: Function "extcodesize" not found.
--> Address.sol:34:21:
|
34 | size := extcodesize(account)
| ^^^^^^^^^^^
Error: Variable count for assignment to "size" does not match number of values (1 vs. 0)
--> Address.sol:34:13:
|
34 | size := extcodesize(account)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
他のユーザーがdocker
インスタンスで実行すると成功します。
[efe@efeninki ~]$ sudo docker run -it --rm ubuntu bash
root@437d7edb92fc:/# ssh [email protected]
[email protected]'s password:
[root@vultr ~]# cd test/
[root@vultr test]# ls
Address.sol solc-linux-amd64-v0.8.10+commit.fc410830 test.sh
[root@vultr test]# ./solc-linux-amd64-v0.8.10+commit.fc410830 --bin Address.sol
======= Address.sol:Address =======
Binary:
60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ebf580f669e9f89d1faea352d4ba1d4ab2d9c9774fda9fb483588d4e9b09eb5564736f6c634300080a0033
ベストアンサー1
ssh
SendEnv
一部の環境変数をクライアントからホスト(クライアント側ssh
、AcceptEnv
サーバー側sshd
)に転送するオプションがあります。クライアントの一部の環境変数がサーバーに送信され、この問題を引き起こす可能性がありますが、他のユーザーはそうでないか、または別の構成を持っている可能性がありますssh_config
。
ssh
あなたと他のユーザーの間の環境を比較する必要があります。
ssh root@remote_machine 'env'
私の考えでは、他の結果に影響を与える可能性があるいくつかの違いを見るでしょう。