1

sudo bashVB.NET と WinSCP を使用してコマンドを実行しようとしています。

私はこのコードを使用しています:

Try
    Dim mySessionOptions As New SessionOptions
    With mySessionOptions
        .Protocol = Protocol.Sftp
        .HostName = "10.5...."
        .UserName = "hereGoesUsername"
        .Password = "hereGoesPassword"
        .SshHostKeyFingerprint = "ssh-rsa 2048 ......"
    End With
    mySession.Open(mySessionOptions)
    Try
        mySession.ExecuteCommand("sudo bash").Check()

最後の行でエラーが発生します

sudo: tty が存在せず、askpass プログラムが指定されていません。

パスワードを入力できません。のようにWindowsでコマンドラインを使用するssh username@hostと、パスワードを要求され、入力してから実行sudo bashしてパスワードを再度入力できますが、WinSCPでそれを行うにはどうすればよいですか?

4

1 に答える 1

1

WinSCP を使用してパスワードを提供することはできません。リモート コマンドを実行する際の WinSCP の技術的な制限についてお読みください。

唯一のオプションは、ユーザーがパスワードを入力せずにコマンドを実行できるようにすることです。

一般的なアドバイスについては、ログイン後にユーザーを変更するにはどうすればよいですか (例: su root) を参照してください。

この記事は、一般的なアクセスの許可に関するものです。特定のケースでは、特定のコマンドのみを有効にできる場合があります。

しかし、あなたは何を達成しようとしているのかを私たちに教えてくれませんでした。sudo bashが最終目標ではないと思います。むしろ、何らかのコマンドを実行したいですよね?詳細を教えていただければ、より具体的な回答が得られるかもしれません。

于 2015-05-26T05:22:47.997 に答える