<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RyanW</id>
	<title>OpenVZ Virtuozzo Containers Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RyanW"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/Special:Contributions/RyanW"/>
	<updated>2026-06-13T23:26:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Ssh_keys&amp;diff=2548</id>
		<title>Ssh keys</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Ssh_keys&amp;diff=2548"/>
		<updated>2006-11-27T11:59:59Z</updated>

		<summary type="html">&lt;p&gt;RyanW: /* The script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{wrongtitle|ssh keys}}&lt;br /&gt;
&lt;br /&gt;
OpenSSH has several authentication mechanism. The most known one is then you type in the password, which is then checked against the password at the remote system. While this is straightforward and does not usually require any additional setup, it is not convenient to enter the password each time.&lt;br /&gt;
&lt;br /&gt;
This article describes how to set up a passwordless ssh login, using ssh key pairs. This can be convenient e.&amp;amp;nbsp;g. in cases when you use [[Checkpointing and live migration|live migration]].&lt;br /&gt;
&lt;br /&gt;
== Theory ==&lt;br /&gt;
&lt;br /&gt;
OpenSSH uses several assymmetric cryptography algorithms, where a pair of keys are generated. Those keys are known as ''public key'' and ''private key''. Public keys can then be uploaded to a remote system which you want a passwordless access to. ''See more at [http://en.wikipedia.org/wiki/Public-key_cryptography wikipedia: Public-key cryptography].''&lt;br /&gt;
&lt;br /&gt;
''Your'' OpenSSH public keys are usually stored in &amp;lt;code&amp;gt;~/.ssh/id*.pub&amp;lt;/code&amp;gt; files, and your private keys are stored in the &amp;lt;code&amp;gt;~/.ssh/id*&amp;lt;/code&amp;gt; files (the ones without &amp;lt;code&amp;gt;.pub&amp;lt;/code&amp;gt; suffix).&lt;br /&gt;
&lt;br /&gt;
If you want to let user Joe at host One to log in as user Bar at host Two, you should put Joe@One's public keys into Bar@Two's &amp;lt;code&amp;gt;~/.ssh/authorized_keys*&amp;lt;/code&amp;gt; files. This process can be automated using the following script.&lt;br /&gt;
&lt;br /&gt;
== The script ==&lt;br /&gt;
&lt;br /&gt;
The following script can be used to automate a process of generating ssh key pairs and putting the public keys to an account on a remote host. Place the script to &amp;lt;code&amp;gt;/usr/local/bin&amp;lt;/code&amp;gt; or your &amp;lt;code&amp;gt;~/bin&amp;lt;/code&amp;gt; and enable its execution (i.&amp;amp;nbsp;e. do &amp;lt;code&amp;gt;chmod a+x ssh-keyput&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#&lt;br /&gt;
# ssh-keyput -- set up passwordless openssh login.&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2001, 2002, 2006 by SWsoft.&lt;br /&gt;
# Author: Kir Kolyshkin&lt;br /&gt;
#&lt;br /&gt;
# This script is used to put your public ssh keys to another host's&lt;br /&gt;
# authorized_keys[2], so you will be able to ssh login without entering&lt;br /&gt;
# a password. Key pairs are generated if needed, and connectivity&lt;br /&gt;
# is checked after putting the keys.&lt;br /&gt;
&lt;br /&gt;
PROGNAME=`basename $0`&lt;br /&gt;
&lt;br /&gt;
function usage()&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;Usage: $PROGNAME [user@]IP [[user@]IP ...]&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
	exit 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Check for correct number of parameters&lt;br /&gt;
test $# -gt 0 || usage;&lt;br /&gt;
&lt;br /&gt;
SSH_KEYGEN=`which ssh-keygen`&lt;br /&gt;
if test $? -ne 0; then&lt;br /&gt;
	# Error message is printed by 'which'&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
SSH_DIR=~/.ssh&lt;br /&gt;
if ! test -d $SSH_DIR; then&lt;br /&gt;
	mkdir $SSH_DIR&lt;br /&gt;
fi&lt;br /&gt;
chmod 700 $SSH_DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [ ! -f $SSH_DIR/identity ] || [ ! -f $SSH_DIR/identity.pub ]; then&lt;br /&gt;
	echo &amp;quot;Generating ssh1 RSA keys - please wait...&amp;quot;&lt;br /&gt;
	rm -f $SSH_DIR/identity $SSH_DIR/identity.pub&lt;br /&gt;
	$SSH_KEYGEN -t rsa1 -f $SSH_DIR/identity -P ''&lt;br /&gt;
	if [ $? -ne 0 ]; then&lt;br /&gt;
		echo &amp;quot;Command \&amp;quot;$SSH_KEYGEN -t rsa1 -f $SSH_DIR/identity&amp;quot; \&lt;br /&gt;
			 &amp;quot;-P ''\&amp;quot; failed&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;ssh1 RSA key is present&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -f $SSH_DIR/id_dsa ] || [ ! -f $SSH_DIR/id_dsa.pub ]; then&lt;br /&gt;
	echo &amp;quot;Generating ssh2 DSA keys - please wait...&amp;quot;&lt;br /&gt;
	rm -f $SSH_DIR/id_dsa $SSH_DIR/id_dsa.pub&lt;br /&gt;
	$SSH_KEYGEN -t dsa -f $SSH_DIR/id_dsa -P ''&lt;br /&gt;
	if test $? -ne 0; then&lt;br /&gt;
		echo &amp;quot;Command \&amp;quot;$SSH_KEYGEN -t dsa -f $SSH_DIR/id_dsa&amp;quot; \&lt;br /&gt;
			 &amp;quot;-P ''\&amp;quot; failed&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
	echo &amp;quot;ssh2 DSA key is present&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
SSH1_RSA_KEY=`cat $SSH_DIR/identity.pub`&lt;br /&gt;
SSH2_DSA_KEY=`cat $SSH_DIR/id_dsa.pub`&lt;br /&gt;
&lt;br /&gt;
for IP in $*; do&lt;br /&gt;
	echo &amp;quot;You will now be asked for password for $IP&amp;quot;&lt;br /&gt;
#	set -x&lt;br /&gt;
	ssh -oStrictHostKeyChecking=no $IP &amp;quot;mkdir -p ~/.ssh; chmod 700 ~/.ssh; \&lt;br /&gt;
		echo \&amp;quot;$SSH1_RSA_KEY\&amp;quot; &amp;gt;&amp;gt; ~/.ssh/authorized_keys; \&lt;br /&gt;
		echo \&amp;quot;$SSH2_DSA_KEY\&amp;quot; &amp;gt;&amp;gt; ~/.ssh/authorized_keys2; \&lt;br /&gt;
		chmod 600 ~/.ssh/authorized_keys ~/.ssh/authorized_keys2&amp;quot;&lt;br /&gt;
#	set +x&lt;br /&gt;
	if test $? -eq 0; then&lt;br /&gt;
		echo &amp;quot;Keys were put successfully&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;Error putting keys to $IP&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for IP in $*; do&lt;br /&gt;
	for ver in 1 2; do&lt;br /&gt;
		echo -n &amp;quot;Checking $IP connectivity by ssh$ver... &amp;quot;&lt;br /&gt;
		ssh -q -oProtocol=${ver} -oBatchMode=yes \&lt;br /&gt;
		  -oStrictHostKeyChecking=no $IP /bin/true&lt;br /&gt;
		if [ $? -eq 0 ]; then&lt;br /&gt;
			echo &amp;quot;OK&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			echo &amp;quot;failed&amp;quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;
		fi&lt;br /&gt;
	done&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: HOWTO]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''External Links'''&lt;br /&gt;
&lt;br /&gt;
[http://blog.eukhost.com/2006/11/24/sharing-ssh-keys-on-2-linux-servers-to-login-without-authentication/ Sharing SSH keys on 2 linux servers to login without authentication]&lt;/div&gt;</summary>
		<author><name>RyanW</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Virtuozzo&amp;diff=2399</id>
		<title>Virtuozzo</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Virtuozzo&amp;diff=2399"/>
		<updated>2006-10-12T13:19:22Z</updated>

		<summary type="html">&lt;p&gt;RyanW: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Virtuozzo-the-only-true-vps.gif|right]]&lt;br /&gt;
'''Virtuozzo™''' is [http://www.swsoft.com/ SWsoft]’s virtualization and automation solution built on top of OpenVZ. Virtuozzo™ provides improvements and additional functionality in the areas of density, management tools, recovery, and other areas. Specific benefits of Virtuozzo™ compared to OpenVZ can be found below:&lt;br /&gt;
&lt;br /&gt;
== Main benefits ==&lt;br /&gt;
&lt;br /&gt;
* Higher VE density.&lt;br /&gt;
:Virtuozzo™ provides efficient memory and file sharing mechanisms enabling higher VE density and better performance of VEs.&lt;br /&gt;
&lt;br /&gt;
* Management tools.&lt;br /&gt;
: Virtuozzo™ ships with number of management, monitoring, troubleshooting, and administration tools significantly reducing management, administration, and deployment costs. Specific tools include:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
: &amp;lt;li&amp;gt; [http://www.swsoft.com/en/virtuozzo/enterprise/vzmc/ VZMC] — GUI-based administration, management, monitoring, and provisioning tool.&amp;lt;/li&amp;gt;&lt;br /&gt;
: &amp;lt;li&amp;gt; [http://www.swsoft.com/en/virtuozzo/enterprise/vzcc/ VZCC] — browser-based administration, management, monitoring, and provisioning tool.&amp;lt;/li&amp;gt;&lt;br /&gt;
: &amp;lt;li&amp;gt; [http://www.swsoft.com/en/virtuozzo/enterprise/vzpp/ PowerPanel] — browser-based recovery and administration tool for VE owner.&amp;lt;/li&amp;gt;&lt;br /&gt;
: &amp;lt;li&amp;gt; Number of additional shell utilities.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Support and maintenance.&lt;br /&gt;
:Virtuozzo™ is a commercial product supported and maintained by SWsoft with options for 24×7 phone support and guarantees on maintenance schedules.&lt;br /&gt;
&lt;br /&gt;
* Advanced recovery, monitoring, and back-up tools.&lt;br /&gt;
&lt;br /&gt;
* Physical-to-VE (P2V) and VE-to-physical (V2P) migration tools.&lt;br /&gt;
: Those tools allow easy conversion of existing physical machines into Virtuozzo™ VE (and vice-versa) facilitating the adoption of virtualized infrastructure.&lt;br /&gt;
&lt;br /&gt;
* Common client-server XML-based management API (VZAgent).&lt;br /&gt;
: API allows easily integration of Virtuozzo™ into existing management infrastructure and development of additional management and monitoring modules.&lt;br /&gt;
&lt;br /&gt;
* Traffic accounting tools.&lt;br /&gt;
: These tools enable bandwidth management and control for individual VEs and provide additional security mechanisms for VEs running on the same host.&lt;br /&gt;
&lt;br /&gt;
== Other benefits of Virtuozzo™ ==&lt;br /&gt;
&lt;br /&gt;
* Integration with SWsoft’s [http://www.swsoft.com/plesk/ Plesk] control panel solution.&lt;br /&gt;
* Discounts on [http://www.swsoft.com/plesk/ Plesk] licenses.&lt;br /&gt;
* Name-based hosting (no need for public IP for each VE).&lt;br /&gt;
* Easy to use installation utility.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.virtuozzo.com/ Virtuozzo]&lt;br /&gt;
* [http://www.swsoft.com/ SWsoft]&lt;br /&gt;
* [http://www.swsoft.com/plesk/ Plesk]&lt;br /&gt;
* [http://www.swsoft.com/en/virtuozzo/enterprise/vzmc/ VZMC]&lt;br /&gt;
* [http://www.swsoft.com/en/virtuozzo/enterprise/vzcc/ VZCC]&lt;br /&gt;
* [http://www.swsoft.com/en/virtuozzo/enterprise/vzpp/ PowerPanel]&lt;br /&gt;
* [http://blog.eukhost.com/2006/10/11/virtuozzo-over-openvz Virtuozzo over OpenVZ]&lt;/div&gt;</summary>
		<author><name>RyanW</name></author>
		
	</entry>
</feed>