В моем случае я хочу сделать проверку SVN:
svn co svn+ssh://10.106.191.164/home/svn/shproject
Однако я хочу, чтобы пароль был в одной строке, чтобы он не всплывал.
linux
ssh
svn
authentication
Alex
источник
источник
Ответы:
источник
sshpass
(который работает для меня).Учитывая, что вы используете SSH, предпочтительным способом является использование открытого ключа для авторизации, что полностью избавляет от необходимости ввода пароля.
Руководство по созданию и установке ключей можно найти здесь .
источник
Бесконечно лучше создать пару ключей. Как ваш локальный пользователь:
$ ssh-keygen -t rsa
(принять все значения по умолчанию)
Затем возьмите содержимое .ssh / id_rsa.pub и добавьте его на удаленном сервере в .ssh / authorized_keys. Убедитесь, что оно вставлено в одну строку. Также убедитесь, что разрешения для каталога .ssh равны 600.
Тогда вы сможете использовать ssh без запроса пароля.
источник
Вместо того, чтобы использовать пароль, вы можете захотеть взглянуть на пару секретный / открытый ключ и использовать ssh. Большинство дистрибутивов Linux поставляются с простыми в использовании командами для создания такой пары. однако для этого потребуется доступ на серверную сторону (один раз) для размещения файла открытого ключа в файле ~ / .ssh / authorized_keys вашего пользователя.
источник
Ну, я действительно хочу , чтобы ввести пароль - мне не нравится полагаться на мой пароль сохраняются где - то; тем не менее, я хочу ввести его один раз для набора команд svn + ssh; и часто, вы просто хотите сделать один
svn checkout
- и все равно придется вводить тонны паролей. Именно в таком случае я бы хотел ввести пароль только один раз.Таким образом, только ответы @Boinst и @Marius были актуальны для моего варианта использования; к сожалению, они не помогли, так как я не мог заставить их работать. Интересно, сами авторы постов опробовали команды перед их публикацией, так как теперь я не представляю, как они могут работать - вот тест, который я провел локально на своем компьютере с Ubuntu 10.04 (и я ломаюсь с помощью Ctrl-C, каждый раз, когда вижу появится запрос пароля):
Что касается
--username/--password
вsvn
командной строке обеспокоен - это не имеет значения сsvn+ssh
, потому что этоssh
просят, а неsvn
:svn - Subversion игнорирует опции "--password" и "--username" - Переполнение стека
Кроме того, как показывает журнал,
ssh
сам по себе не принимает "username:password@...
" в URL-адресе - и так не делаетsvn
. Почему в URL-адресе допустимо использовать только имя пользователяsvn
, вероятно, объясняется в~/.subversion/config
:Заметьте, ничего не сказано
<user>:<pass>@<hostname>
.Теперь, благодаря странице Subversion поверх SVN + SSH в Debian , я наконец понял, что есть
SVN_SSH
переменная окружения, используемая~/.subversion/config
для (я полагаю) туннеля ssh; и это в конечном итоге открывает возможность использовать программуsshpass
для обработки пароля таким способом:Ну, по крайней мере, я рад, что наконец нашел решение, которое работает для меня - надеюсь, это поможет кому-то еще,
ура!
источник
источник
Вы также можете использовать данные переключатели имя пользователя и пароль .
См. Проверка подлинности командной строки .
источник
Я думаю, что использование sshpass (в Linux) - лучший способ получить это.
Установить sshpass
Установите временную переменную среды
Отредактируйте конфигурационный файл SVN
Наконец закомментируйте добавить
sshpass -e
в строку ssh передssh
командойисточник