Я хочу сделать ssh-соединение без пароля для проекта subversion. Сейчас я использую ssh + svn, и это немного раздражает, потому что мне нужно вводить пароль каждый раз, когда я хочу заключить сделку с сервером.
В Интернете я нашел несколько учебных пособий о том, как сгенерировать ключ для ssh без пароля, но все они, похоже, предполагают, что я использую то же имя пользователя в удаленной системе, что и для своей домашней системы. Однако имя пользователя, которое я использую для ssh + svn, отличается от имени учетной записи пользователя в системе, где я работаю. Как мне правильно это настроить? Мне не повезло с изменением имени в файле ключей.
источник
.ssh/id_rsa.pub
и загрузить его на удаленный сервер. Когда я сделал это, это закончилось localusername @ localsystem. Это должно быть изменено на remoteusername @ remotesystem, верно? И локально, и удаленно?id_rsa.pub
кauthorized_keys
удаленной системе. Это сработает.Есть два способа сделать это:
1) положить пользователя @ в URL-адрес SVN; это говорит svn + ssh для входа в систему как этот пользователь. Я думаю, что это плохая идея с точки зрения обслуживания, потому что такие вещи, как внешние объекты, которые указывают на другие части хранилища, не будут работать правильно.
2) создайте ~ / .ssh / config (задокументированный как ssh_config ), который говорит что-то вроде:
таким образом, любая попытка ssh в другие системы по умолчанию будет использовать другой пользователь. Что удобно для вас, когда вы делаете ssh вручную, а также когда вы используете svn.
источник
Вам не нужно иметь одинаковое имя пользователя на обеих машинах. Пока вы генерируете ключ (
ssh-keygen
), вы должны копировать строку с~/.ssh/id_rsa.pub
или~/.ssh/id_dsa.pub
(в зависимости от типа ключа) с локального сервера и добавлять ее к~/.ssh/authorized_keys
удаленному.Если вы не хотите вводить
remoteuser
каждый раз, добавьте~/.ssh/config
:PS. Имя ключа может быть в форме ,
localuser@localhost
но это только название . Это может быть так же хорошо,myfavouritekey@myfavouritecomputer
и никто не будет заботиться.источник
ssh-copy-id
сценария, упомянутого выше. Я признаю это, потому что не все системыssh-copy-id
, которыми я пользуюсь, поставляются , поэтому я набрал нечто подобное несколько раз. :)ssh-copy-id
. Я обычно используюvim
илиseahorse
;)После того как я создаю .ssh / config и запускаю:
Я получаю ошибку:
затем я добавляю
chmod 600 .ssh/config
, и после этого он работает гладко.источник