Используя ожидают передавать пароль ssh

Я обнаружил, что в некоторых случаях:

>>>print(type(df))
<class 'pyspark.sql.dataframe.DataFrame'>

>>>df.take(1).isEmpty
'list' object has no attribute 'isEmpty'

это то же самое для «length» или replace take () head ()

[Solution] для проблемы, которую мы можно использовать.

>>>df.limit(2).count() > 1
False
38
задан Malfist 19 January 2009 в 21:12
поделиться

4 ответа

Я всегда использовал "надлежащее" решение, но я использовал, ожидают в других ситуациях.

Здесь я нашел следующее предложение:

#!/usr/local/bin/expect
spawn  sftp  -b cmdFile user@yourserver.com
expect "password:"
send "shhh!\n";
interact
73
ответ дан max 10 October 2019 в 07:15
поделиться

Не было бы легче использовать аутентификацию с открытым ключом и использовать ключ без пароля?

Как пользователь на исходной машине делают это, чтобы сделать ключ RSA

ssh-keygen -t rsa

Теперь копия ~/.ssh/id_rsa.pub к целевой машине и добавить его в authorized_keys файл целевого пользователя

5
ответ дан Paul Dixon 10 October 2019 в 07:15
поделиться

Я вполне уверен, не возможно сделать то, что Вы пытаетесь сделать. Большинство *отклоняет приложения, которые запрашивают пароль, считанный из TTY непосредственно, не stdin, таким образом, Вы не можете передать пароль по каналу в. Как другие упомянули, можно настроить SSH для не запроса пароль, как объяснено здесь .

После того, как я был downvoted без видимой причины, я пошел и действительно немного больше исследовал на эти expect команда и обнаружил, что это имеет send_tty команда, которая отправляет к/dev/tty вместо stdin, который мог бы на самом деле сделать то, что Вы хотите... Я ранее не знал об этой функции. Я все еще рекомендую поместить ключ на сервере, как бы то ни было.

-1
ответ дан rmeador 10 October 2019 в 07:15
поделиться

Ваш самый быстрый путь вперед (если Вы не хотите стать экспертом Tcl, который был бы... необычен... в 2009) состоит в том, чтобы, вероятно, использовать autoexpect. Вот страница справочника:

http://expect.nist.gov/example/autoexpect.man.html

Короче говоря, разожгите autoexpect, выполните свою ssh сессию, закончите то, что необходимо сделать, прекратите автоожидать и затем победите клавиатуру по получающейся путанице, пока это не работает:) я предполагаю, что Вам не нужны что-то большее чем быстрый взлом для разбираний в ключах и затем, хорошо оно кажется на знание счета уже с этим.

И существует этот вопрос , который уже содержит пример близко к тому, что Вы ищете.

4
ответ дан Community 10 October 2019 в 07:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: