2015-05-25 2 views
1

Я пытаюсь запустить команду sudo bash с помощью VB.NET и WinSCP.Запустить команду sudo bash с помощью сборки WinSCP .NET

Я использую этот код:

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: нет терминальных настоящую и не askpass программы, указанной.

Я не могу ввести пароль. Если я использую командную строку в Windows, например, ssh [email protected], тогда она запрашивает пароль, я ввожу, тогда я могу запустить sudo bash и снова ввести пароль, но как это сделать с помощью WinSCP?

ответ

1

Вы не можете предоставить пароль, используя WinSCP. Читайте перевод информации о technical limitations of WinSCP when executing remote commands.

Единственный вариант - позволить пользователю выполнить вашу команду без предоставления пароля.

Для общих рекомендаций см How do I change user after login (e.g. su root)?

В статье о разрешении общего доступа. В вашем конкретном случае вы можете включить только определенную команду.

Но вы действительно не сказали нам, чего вы пытаетесь достичь. Я полагаю, что sudo bash не является конечной целью. Вы скорее хотите выполнить какую-то команду, верно? Если вы дадите нам более подробную информацию, вы можете получить более конкретный ответ.

+0

Да, я хочу удалить некоторые файлы, но у меня нет разрешения. Когда я запускаю sudo bash, введите пароль, а затем я могу удалить то, что хочу. – babboon

+0

Тогда вам действительно не нужно 'sudo bash', но' sudo rm'. Чтобы ограничить злоупотребление паролем 'sudo' (как описано в ссылках в моем ответе), вы можете создать скрипт, который выполняет ограниченную + повторяющуюся задачу, которую вы хотите автоматизировать и настроить' sudo', чтобы разрешить только эту команду. –

Смежные вопросы