このコマンドをで実行していますsu
。 sshNetを使用して接続を確立してからSSH
コマンドを設定しようとすると、su -
応答はありません。ログイン後に実行したいパスワードとコマンドがありますsu
。
私が知っている私のコードは次のようになります。
using (var sshClient = new SshClient("10.10.8.113","ems", "ems"))
{
sshClient.Connect();
sshClient.CreateCommand("su -").Execute();
sshClient.CreateCommand("123456").Execute();
sshClient.CreateCommand("EmsMenu.sh");
}
Shell実装の使用について読みましたが、そのようには成功しませんでした。
ベストアンサー1
この失敗の原因は、デフォルトでターゲットマシンにssh
端末(a)が生成されないためです。これは、パスワードの入力を求められないため、失敗することをpty
意味します。su
(同じ理由で@Scottが指摘したように、sudo
フラグが指定されていないとメッセージを表示することもできません。)-S
リモートシステムに端末()を作成して、
ssh
パスワードの入力を求めるように指示できます。一般的なコマンドを使用すると、sshにフラグを指定してこれを実行できます。残念ながら、これを行うのに役立ちません。pty
su
-t
SSH.NET文書はCHM形式で提供されているため、開けません。su
目的のターゲットユーザーアカウント「root」を使用してリモートサーバーに接続すると、このセクションを完全に削除できます。セキュリティ上の理由から、パスワードを使用したルートログインの試行を拒否する一部のシステムでは、この操作が失敗する可能性があるため、証明書ベースのログインを確認することをお勧めします。コマンドを使用して適切な証明書を生成できますssh-keygen -t rsa
。