Author: Enrik Beste
Version 1.0
Internal Only
CONCURRENT VERSIONING SYSTEM (CVS)
CLIENT INSTALLATION
In the following the installation of the CVS client will be described
SUPPORTED VERSION
The supported version is 1.11.21 and later. The version can be verified by entering
cvs -version
The server should answer with
Concurrent Versions System (CVS) 1.11.22 (client/server)
The client should show
Concurrent Versions System (CVS) 1.11.22 (client)
ENVIRONMENT VARIABLE
The cvs client is using plink to connect to the cvs server. The following environment variable has to
be set:
CVS_RSH=plink.exe
1. Open System Properties (Systemeigenschaft):
2. Go to tab Advanced (Erweitert)> Environment Variables (Umgebungsvariablen)
3. User variables (Benutzervariablen)> New (Neu)
4. Variable Name (Name der Variablen)
Variable value (Wert der Variablen)
CVS_RSH
plink.exe
INSTALLATION OF CVS CLIENT ON DEVELOPMENT MACHINE
The cvs client has to be accessible by StreamServe DesignCenter and by StreamServe ControlCenter.
Please copy the cvs.exe client executable into the following directories:
Pag e |1
Author: Enrik Beste
Version 1.0
Internal Only
Target Folder
<Installation Folder>/Applications/Management/1.2/bin
<Installation Folder>/Applications/StreamServer/5.2.1/Tools/System
CONNECTING CVS REPOSITORY FROM STREAMSERVE
Before you can use the CVS repository from StreamServe DesignCenter or ControlCenter you have
to define the connection.
1. In DesignCenter use File –> Version Control -> Manage Connections
2. Use Add Button. The windows shows the current version of CVS. It should be version
1.11.22
3. Enter the
of the connection bytdb1.DEV_CVS
name
4. Enter the following details
Parameter
Protocol
User name
Value
ext
Your username (in lowercase!!!)
Pag e |2
Author: Enrik Beste
Host name
Port
CVSROOT
Version 1.0
Internal Only
bytdb1
2401 (default)
/usr/lpp/StreamServe/DEV_CVS
5. Press Check button and enter your password assigned to LINUX server bytdb1. The
windows should show The CVS root is valid
6. Enter the following details
Parameter
CVS module
Local module path
Value
Use button
and select module DEV_BAY
D:\PERSUASION
Please create this folder on your D: drive. It is not allowed
to use a different folder
7.
Pag e |3
Author: Enrik Beste
Version 1.0
Internal Only
CVS REPOSITORY CONFIGURATION
CREATION OF REPOSITORY
1. On the CVS server open a command prompt and navigate to an empty folder, e.g.
/usr/lpp/StreamServe/DEV_CVS
2. Enter the following command to initialize the repository:
cvs –d :local:/usr/lpp/StreamServe/DEV_CVS init
SETTING FILES TYPES TO BINARY
Even though DesignCenter specifies to handle all files as binary when communicating with the CVS
server, it is good practice to tell the CVS server that the StreamServe files should be handled as
binary files.
1. Open a command prompt and navigate to your local work folder, e.g. cd ~/cvs_work
2. Checkout the CVSROOT configuration files
cvs -d :local:/usr/lpp/StreamServe/DEV_CVS co CVSROOT
3. Open file ./CVSROOT/cvswrappers
vi .\CVSROOT\cvswrappers
4. Add the following lines at the end of the file
*.dcproject -kb
*.dcprocess -kb
*.dcmessage -kb
*.dcplatform -kb
*.dcphyspf -kb
*.dcres -kb
*.dcrset -kb
*.dcruntime -kb
*.dcphysrt -kb
5. Commit the changes:
cvs –d :local:/usr/lpp/StreamServe/DEV_CVS commit –m “StreamServe files binary”
CONFIGURING CONNECTION
Set environment variable CVS_RSH pointing to plink
Pag e |4
Author: Enrik Beste
Version 1.0
Internal Only
Restart relevant application to propagate new environment
INSTALLING PRIVATE KEY ON WINDOWS CLIENT MACHINE
For details how to install the private key on the local machine please see
Testing connectivity
Once the client machine is configured the SSH connevtivity can be tested as follows:
1. Open MS-DOS prompt
2. Enter plink bytdb1
You can also add –v to see more details
3. Enter user name
4. Enter passphrase
You should be logged in automatically.
TROUBLESHOOTING
PASSPHRASE FOR KEY REQUIRED
While connecting to the server from PuTTY the following message appears
Using username "ezzsj".
Authenticating with public key "imported-openssh-key"
Pag e |5
Author: Enrik Beste
Version 1.0
Internal Only
Passphrase for key "imported-openssh-key":
Please open the PuTTY Agent (pagent) and review if the key is still listed there. If not add the key
and enter the passphrase.
Pleases note that after each restart of PuTTY Agent the private key file has to be added manually.
SSH PROTOCOL AND SSH KEY
For the communication with the CVS Server machine the SSH protocol should be used. Therefore 2
keys are required. The public key has to stored under the user’s home directory on the server
machine and the private key has to be available on the local machine used by the developer.
Please note that an OpenSSH key is required. Otherwise a password is required while connecting
the targe machine. This will not work with CVS.
PUBLIC AND PRIVATE KEY GENERATION
See also:
·
http://cs.nyu.edu/exact/collab/how2cvs-collab.html
·
http://fsinfo.cs.uni-dortmund.de/dokuwiki/studis/subversion_auf_marvin
KEY GENERATION
The user must first create a private-public key pair:
ssh-keygen -t dsa -b 1024
This causes ssh-keygen to create 2 files, named id_dsa and id_dsa.pub. The first file contains the
private-public key pair, the second contains the public key.
Note that this command is interactive: it will prompt the user for (1) a full-path file name for
storing the private-public key pair (default is ~/.ssh/id_dsa). and (2) a "passphrase", which is a
password to protect your private key.
PUBLIC KEY
MANUAL INSTALLATION ON SSH REMOTE SERVER
The following description is an excerpt from http://www.mtu.net/~engstrom/sshagent.php#PuTTY
Pag e |6
Author: Enrik Beste
Version 1.0
Internal Only
You now need to copy your public key to the remote SSH server and update one setting in your
PuTTY configuration
Store your public keyfile on the remote server in your remote ~/.ssh/authorized_keys2 file:
mkdir ~/.ssh
chmod 700 .ssh
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys2
rm ~/.ssh/id_dsa.pub
chmod 600 ~/.ssh/*
PRIVATE KEY
CONVERTING PRIVATE KEY ON LOCAL MACHINE
In order to use the private key on the local machine the PuTTY-Agent (pageant) has to be
configured. PuTTY cannot use the OpenSSH key. Before the private key can be used it has to be
converted to an SSH2 key.
1. Open PuTTYGen
2. Press Load and select your private key file. Enter passphrase
3. Press Save Private key and save your ne create key.
INSTALLATION OF PRIVATE KEY ON LOCAL MACHINE
1. Run the pageant program from the START menu. This will load the PuTTY Authentication
Agent into the Windows System Tray; it appears as a little computer with a "secret agent
hat". PuTTY-Agent is a process which runs in the background and listens for "requests"
from PuTTY clients needing your private key.
2. When PuTTY-Agent starts, it doesn't know about your private keys by default. Right-click
the Pageant icon in the Windows System Tray. Select Add Key. Navigate to the directory
where you saved the public and private keys in the previous step, and select the file private
ppk file (e.g. private_key.ppk). Pageant will prompt you for the passphrase of the key.
3. Now you are basically done. Restart PuTTY again to test the settings one last time; enter the
name of the remote host into the Host Name box and clicking Open.
You should NOT be prompted the passphrase of your private key nor your remote
password; close the resulting shell window by typing exit
PUBLISHING PRIVATE KEY
Pag e |7
Author: Enrik Beste
Version 1.0
Internal Only
STARTING PUTTY AGENT LOADING PRIVAT KEYS AUTOMATICALLY
When the PuTTY agent is started it does not load they private keys automatically. Pageant can
automatically load one or more private keys when it starts up, if you provide them on the Pageant
command line. Your command line might then look like:
C:\Program Files\PUTTY\pageant.exe d:\my_privateKey1 d:\my_privateKey1
If the keys are stored encrypted, Pageant will request the passphrases on startup. If Pageant is
already running, this syntax loads keys into the existing Pageant.
You can also put the private key file in to the autostart group. This will start PuTTY agent
automatically once the machine is started.
USING AGENT FORWARDING
Agent forwarding is a mechanism that allows applications on your SSH server machine to talk to the
agent on your client machine.
Note that at present, agent forwarding in SSH-2 is only available when your SSH server is OpenSSH.
The ssh.com server uses a different agent protocol, which PuTTY does not yet support.
AUTOMATED GENERATION OF KEYS
LIST OF USERS
Before you can can install your keys you need to create them. As an input a file containing the
following details (one line per user separated by semicolon) is required:
1. Fullname
2. UNIX login name
3. Password for key
Sample file developers.csv
James Bond;jb007;moneypenny
KEY GENERATION
In the next step a script file keygen_developer.sh will be generated which contains the call to the
keygen tool.
awk – f keygen.awk <developers.csv >keygen_developers.sh
Pag e |8
Author: Enrik Beste
Version 1.0
Internal Only
The execute the new created script file:
sh keygen_developers.sh
Now all keys are generated and stored locally.
File name
opensshkey_<username>.pub
opensshkey_<username>.ppk
opensshkey_<username>_putty.ppk
Description
Public key. Will be stored on the LINUX Server
Private Key. The key file has to be stored in a safe place and it
is not allow sharing it with other people. The key is password
protected.
Private key in PuTTY format. This file has to be created in a
manual step (see 0 Converting private key on local machine)
INSTALLATION OF PUBLIC KEYS
The public keys have to be installed on the LINUX server bytdb1. The public key will be stored
under the users homedirectory $HOME/.ssh.
Hint:
The script keyinstall.sh has to be executed under root rights
sh keyinstall.sh <username>
Sample:
sh keyinstall.sh mick01
Please verify that the installation was successful, e.g. ls –la ~<username>/.ssh
total 3
drwx-----drwx------rw-------
3 ezzsj uniqgrp 1024 Jun 11 11:59 .
8 ezzsj uniqgrp 1024 Jun 26 16:45 ..
2 ezzsj uniqgrp 615 Jun 5 11:55 authorized_keys2
SOURCES
SSH-KEYGENERATION
KEYGEN.AWK
#!/bin/awk -f
BEGIN {
FS=";";
}
{ username= $2;
Pag e |9
Author: Enrik Beste
Version 1.0
Internal Only
password= $3;
printf "ssh-keygen -t dsa -b 1024 -N %s -f opensshkey_%s \n", password,
username
printf "mv opensshkey_%s opensshkey_%s.ppk\n", username, username
}
END{
}
KEYGEN_DEVELOPERS.SH (SAMPLE)
ssh-keygen -t dsa -b 1024 -N passwd1 -f opensshkey_mbvjb
mv opensshkey_mbvjb opensshkey_mbvjb.ppk
ssh-keygen -t dsa -b 1024 -N passwd2 -f opensshkey_mbqis
mv opensshkey_mbqis opensshkey_mbqis.ppk
KEYINSTALL.SH
#!/bin/sh
#set -x
if [ $# -eq 0 ]
then echo "Please enter username. Program terminates"
exit 0
fi
filename="opensshkey_"$1".pub"
homedir="/home/"$1
groupacl=`getfacl $homedir |grep "# group"|cut -d " " -f3`
echo
echo
echo
echo
echo
echo
"Installing key for user "$1
"------------------------"
"Key file is
:"$filename
"Home dir is
:"$homedir
"Group acl is :"$groupacl
"------------------------"
if [ -z $homedir ]; then
echo "Homedirectory could not be found."
exit 0
fi
if [ ! -d $homedir/.ssh ];
then mkdir $homedir/.ssh
fi
chmod 700 $homedir/.ssh
cat $filename >> $homedir/.ssh/authorized_keys2
chmod 600 $homedir/.ssh/*
chown $1:$groupacl $homedir/.ssh
chown $1:$groupacl $homedir/.ssh/authorized_keys2
P a g e | 10
Author: Enrik Beste
Version 1.0
Internal Only
echo "Key was installed."
P a g e | 11
© Copyright 2026 Paperzz