Доступ к CVS через SSH

Теоретическая справка

Репозитарии CVS представляют собой систему специальных файлов, каждый из которых хранит всю историю изменений, конкретного преимущественно текстового файла. CVS может обращаться к репозитарию множеством способов. Репозитарий может находиться на локальной машине, на соседней машине или же на машине, или на машине в интернет.

Есть следующие методы доступа:

Указание на то, какой метод доступа должен использоваться можно в переменной CVSROOT, например для pserver переменная будет выглядеть так:

:pserver:kkv@kkv.spb.su:/cvs

Если используется режим доступа ext, то cvs использует программу для доступа, которая указана в переменной окружения CVS_RSH. При данном методе доступа, выполнять cvs login не требуется.

Для доступа к cvs через ssh необходимо выполение следующих условий:

Доступ к cvs на kkv.spb.su

Настройка порта

По умолчанию, используется обычный порт для ssh (значение 22), поэтому следующая последовательность команд

export CVS_RSH=/bin/ssh
cvs -d :ext:ktoto@kkv.spb.su:/cvs co project

завершится следующей ошибкой:

ssh: connect to host kkv.spb.su port 22: Connection refused
cvs [checkout aborted]: end of file from server (consult above messages if any)

Значение порта для ssh можно указать либо прописав в файле ~/.ssh/config строчку

port 2222

это не очень удобно, так как ssh будет пытаться ко всем хостам обращаться по порту 2222. Чтобы задать порт только для одного сервера – прописать в файле ~/.ssh/config строчки

Host kkv.spb.su
Port 2222

Второй вариант, создать скрипт cvsrsh, который указать в переменной CVS_RSH в качестве программы доступа.

vim ~/scripts/cvsrsh
#!/bin/sh
ssh -p 2222 $*
chmod +x ~/scripts/cvsrsh
Доступ к cvs с машины под Linux
export CVS_RSH=~/scripts/cvsrsh
cvs -d :ext:ktoto@kkv.spb.su:/home/cvs co test

Эти строчки можно добавить в ~/.bashrc, когда не надо будет вводить это все по-новой.

Доступ к cvs с машины под Windows

Для доступа к cvs из под Windows требуется выполнить следующие шаги:

CVS_RSH=c:\tools\openssh\bin\ssh.exe
HOME=c:\tools
Port 2222
cvs -d :ext:user@kkv.spb.su:/home/cvs co test
Доступ к cvs с машины под Windows (альтернативный вариант)
1)
позволяет аутентифицировать пользователя