
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2019-08-07
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Overview</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="//netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="//yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />


		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-passwordless-ssh project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html"><span class="brand-apache">Apache </span><span class="brand-trafodion">Trafodion</span> <span class="brand-apache"></span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
							<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
							<li ><a href="contributing-redirect.html" title="Contribute">Contribute</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Overview">Overview</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Apache+Trafodion+Home" title="Wiki" class="externalLink">Wiki</a></li>
									<li ><a href="https://www.youtube.com/playlist?list=PLyyCp3HBB8Tv9696OnG0_mmgF5tfHeyOi" title="Videos" class="externalLink">Videos</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Roadmap" title="Roadmap" class="externalLink">Roadmap</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-redirect.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="http://www.apache.org/events/current-event.html" title="Events" class="externalLink">Events</a></li>
									<li ><a href="logo.html" title="Logo">Logo</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="http://im.qq.com" title="QQ (Group ID: 233105278)" class="externalLink">QQ (Group ID: 233105278)</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="http://www.apache.org/security/" title="Security" class="externalLink">Security</a></li>
									<li ><a href="mailto:security@trafodion.apache.org" title="Report Security Issue" class="externalLink">Report Security Issue</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability#TrafodionManageability-LoggingEvents" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Tutorial:+The+object-oriented+UDF+interface" title="Object-Oriented UDF Tutorial" class="externalLink">Object-Oriented UDF Tutorial</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Backup+and+Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Metadata+Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1><img src="images/logos/trafodion-logo.jpg" alt="Trafodion Logo" width="383"></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
					<a href="https://www.apache.org/events/current-event.html" id="bannerRight"><h1><img src="https://www.apache.org/events/current-event-125x125.png" alt="Apache Events" width="125"></h1></a>
				</div>
			</div>
		</div>
	</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="toplevel"><a href="#overview" title="Overview">Overview</a></li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#command_summary" title="Command Summary">Command Summary</a></li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#detailed_commands" title="Detailed Commands" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Detailed Commands <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#detailed_commands" title="Detailed Commands">Detailed Commands</a></li>
								<li class="divider"></li>
								<li><a href="#Define_NODE_LIST" title="Define NODE_LIST">Define NODE_LIST</a></li>
								<li><a href="#Generate_the_sshid_dsapub_file" title="Generate the ~/.ssh/id_dsa.pub file">Generate the ~/.ssh/id_dsa.pub file</a></li>
								<li><a href="#Populate_the_local_sshauthorized_keys_file" title="Populate the local ~/.ssh/authorized_keys file">Populate the local ~/.ssh/authorized_keys file</a></li>
								<li><a href="#Copy_Files_to_All_Nodes_in_the_Instance" title="Copy Files to All Nodes in the Instance">Copy Files to All Nodes in the Instance</a></li>
								<li><a href="#Add_localhost_key_to_each_nodes_sshknown_hosts_file" title="Add localhost key to each node’s ~/.ssh/known_hosts file">Add localhost key to each node’s ~/.ssh/known_hosts file</a></li>
								<li><a href="#Turn_on_NoHostAuthenticationForLocalhost" title="Turn on NoHostAuthenticationForLocalhost">Turn on NoHostAuthenticationForLocalhost</a></li>
								<li><a href="#Secure_the_Files_for_Passwordless_ssh_Access" title="Secure the Files for Passwordless ssh Access">Secure the Files for Passwordless ssh Access</a></li>
								<li><a href="#Validate_Passwordless_ssh_Access" title="Validate Passwordless ssh Access">Validate Passwordless ssh Access</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#additional_information" title="Additional Information">Additional Information</a></li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the 
  License. --> 
<p>This page describes how to setup passwordless ssh for a Trafodion user.</p> 
<h1 id="overview">Overview</h1> 
<p>Please use these commands to enable passwordless ssh access for a user ID; for example: <b><tt>trafodion</tt></b></p> 
<p>You need to define the authorization keys on each node on the instance. To simplify this procedure, this procedure starts from scratch; that is, it removes the <b><tt>ssh</tt></b> configuration so that new files can be created. The procedure on this page defines what you need to do to set up passwordless ssh manually:</p> 
<ul> 
 <li>Run all commands from a single node in the instance. This node is labeled <b>master node</b> in the procedure.</li> 
 <li>The commands will reach out to all other nodes in the instance. You will have to provide the correct password manually until the procedure has been completed.</li> 
 <li>Ensure that you run the validation step. If passwordless ssh isn’t working, then you likely missed a step in the procedure; you’ll have to start over.</li> 
</ul> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <tbody> 
  <tr class="a"> 
   <td><b>Note</b> <br /><br />You run these commands for each node in the instance, including the master node; that is, you run these commands as well if you are on a single-node instance. </td> 
  </tr> 
 </tbody> 
</table> 
<p>In this procedure, you perform the following steps: </p> 
<ul> 
 <li>Generate the <b><tt>~/.ssh/id_dsa.pub</tt></b> file.</li> 
 <li>Populate the local <b><tt>~/.ssh/authorized_keys</tt></b> file.</li> 
 <li>Copy files to all nodes in the instance.</li> 
 <li>Add <b><tt>localhost</tt></b> key to each node’s <b><tt>~/.ssh/known_hosts</tt></b> file.</li> 
 <li>Turn on <b><tt>NoHostAuthenticationForLocalhost</tt></b> on each node.</li> 
 <li>Secure the files for passwordless ssh access.</li> 
 <li>Validate passwordless ssh access.</li> 
</ul> 
<p>The result of the above procedure should be that the content of the <b><tt>~/.ssh/authorized_keys</tt></b> file is the same on all nodes in your instance and that the security is set up the same way. This allows you to use ssh to login in to any node from any node in the instance without having to specify a password. This is key for many scripts and support commands, which assume that passwordless ssh is working properly. For example, most support commands uses the <b><tt>pdsh $MY_NODES</tt></b> or <b><tt>pdsh $MY_HADOOP_NODES</tt></b> command for status checks.</p> 
<h1 id="command_summary">Command Summary</h1> 
<p>A summary of the commands used in this procedures to help experienced users:</p> 
<div class="source"> 
 <div class="source"> 
  <pre># Skip this step if logged in as a user that has run EsgynDB sqenv.sh, which defines NODE_LIST.
# Modify the NODE_LIST content to list the nodes on which you are installing Trafodion.
export NODE_LIST=&quot;node01.host.com node02.host.com node03.host.com node04.host.com node05.host.com&quot;

# Get the user ID we're doing this work for. Makes the rest of the commands cleaner.
user=$(whoami)

# Generate ~/.ssh/id_dsa.pub on each node in the instance
for node in $NODE_LIST; do ssh $user@$node &quot;rm -rf ~/.ssh; mkdir ~/.ssh; cd ~/.ssh; echo -e 'y\n' | ssh-keygen -t rsa -N '' -f $~/.ssh/id_rsa&quot;; done

# Populate ~/.ssh/authorized_keys file on the master node.
for node in $NODE_LIST; do ssh $user@$node &quot;cat ~/.ssh/id_dsa.pub&quot; &gt;&gt; ~/.ssh/authorized_keys; done

# Copy files to all nodes in the instance but the master node.
my_node=$(echo $HOSTNAME | cut -d '.' -f 1)
for node in $NODE_LIST; do if [ $node &lt;&gt; $my_node ]; then scp ~/.ssh/authorized_keys ~/.ssh/known_hosts $user@$node:~/.ssh/.; fi; done

# Add localhost public key to each node's ~/.ssh/known_hosts file.
for node in $NODE_LIST; do ssh $user@$node &quot;echo localhost $(cat /etc/ssh/ssh_host_rsa_key.pub) &gt;&gt; ~/.ssh/known_hosts&quot;; done

# Turn on NoHostAuthenticationForLocalhost on each node.
for node in $NODE_LIST; do ssh $user@$node &quot;echo &quot;NoHostAuthenticationForLocalhost=yes&quot; &gt;&gt; ~/.ssh/config&quot;; done

# Change security of ~/.ssh directory and key files.
for node in $NODE_LIST; do ssh $user@$node &quot;chmod 755 ~/.ssh; chmod 600 ~/.ssh/authorized_keys; cd ~/.ssh; chmod 700 ..&quot;; done

# Validate that passwordless ssh works. No password prompts should be seen. Try from all or some nodes in the instance.
for node in $NODE_LIST; do ssh $user@$node &quot;ls -al /etc/passwd&quot;; done
</pre> 
 </div> 
</div> 
<h1 id="detailed_commands">Detailed Commands</h1> 
<div class="section"> 
 <h2 id="Define_NODE_LIST">Define <tt>NODE_LIST</tt></h2> 
 <p>The steps below assumes that the <b><tt>NODE_LIST</tt></b> environmental variable contains the node names onto which Trafodion should be installed. You populate this variable using one of the following methods:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Invoke the Trafodion <b><tt>sqenv.sh</tt></b> script, which is present after Trafodion has been installed.</li> 
  <li> <p>Create <b><tt>NODE_LIST</tt></b> manually; for example:</p> <p>export NODE_LIST=“node01.host.com node02.host.com node03.host.com node04.host.com node05.host.com”</p></li> 
 </ol> 
</div> 
<div class="section"> 
 <h2 id="Generate_the_sshid_dsapub_file">Generate the <tt>~/.ssh/id_dsa.pub file</tt></h2> 
 <p>In this step, you create the authorization key for each node in the instance. This key will be located in the <b><tt>~/.ssh/id_dsa.pub</tt></b> file. Use the following commands for each node of the instance: </p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ user=$(whoami)
$ for node in $NODE_LIST; do ssh $user@$node &quot;rm -rf ~/.ssh; mkdir ~/.ssh; cd ~/.ssh; echo -e 'y\n' | ssh-keygen -t rsa -N '' -f $~/.ssh/id_rsa&quot;; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Populate_the_local_sshauthorized_keys_file">Populate the local <tt>~/.ssh/authorized_keys file</tt></h2> 
 <p>In this step, you populate the <b><tt>~/.ssh/authorized_keys</tt></b> file on master node by copying the content from each node’s <b><tt>~/.ssh/id_dsa.pub</tt></b> file. </p> 
 <p>Use the following command string to copy the content of <b><tt>~/.ssh/id_dsa.pub</tt></b> file for each node into the <b><tt>~/.ssh/authorized_keys</tt></b> on the master node:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ for node in $NODE_LIST; do ssh $user@$node &quot;cat ~/.ssh/id_dsa.pub&quot; &gt;&gt; ~/.ssh/authorized_keys; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Copy_Files_to_All_Nodes_in_the_Instance">Copy Files to All Nodes in the Instance</h2> 
 <p>In this step, you copy the <b><tt>~/.ssh/authorized_keys</tt></b> and <b><tt>~/.ssh/known_host</tt></b> files to all other nodes in the instance. Use the following commands to copy the files to all nodes in the instance ’‘‘except’’’ the master node: </p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ my_node=$(echo $HOSTNAME | cut -d '.' -f 1) 
$ for node in $NODE_LIST; do if [ $node &lt;&gt; $my_node ]; then scp ~/.ssh/authorized_keys ~/.ssh/known_hosts $user@$node:~/.ssh/.; fi; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Add_localhost_key_to_each_nodes_sshknown_hosts_file">Add <tt>localhost</tt> key to each node’s <tt>~/.ssh/known_hosts file</tt></h2> 
 <p>In this step, you add the public key for <b><tt>localhost</tt></b> to the <b><tt>~/.ssh/known_hosts</tt></b> file</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ for node in $NODE_LIST; do ssh $user@$node &quot;echo localhost $(cat /etc/ssh/ssh_host_rsa_key.pub) &gt;&gt; ~/.ssh/known_hosts&quot;; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Turn_on_NoHostAuthenticationForLocalhost">Turn on <tt>NoHostAuthenticationForLocalhost</tt></h2> 
 <p>In this step, you turn the <b><tt>NoHostAuthenticationForLocalhost</tt></b> on in each node in the instance.</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ for node in $NODE_LIST; do ssh $user@$node &quot;echo &quot;NoHostAuthenticationForLocalhost=yes&quot; &gt;&gt; ~/.ssh/config&quot;; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Secure_the_Files_for_Passwordless_ssh_Access">Secure the Files for Passwordless <tt>ssh</tt> Access</h2> 
 <p>In this step, you change the security of the <b><tt>~/.ssh/authorized_keys</tt></b> file and the <b><tt>~/.ssh</tt></b> directory so that passwordless ssh will be allowed. Use the following commands for each node of the instance: </p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ for node in $NODE_LIST; do ssh $user@$node &quot;chmod 755 ~/.ssh; chmod 600 ~/.ssh/authorized_keys; cd ~/.ssh; chmod 700 ..&quot;; done
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Validate_Passwordless_ssh_Access">Validate Passwordless ssh Access</h2> 
 <p>Test by starting a remote shell on the different nodes in the instance — no password should be necessary. Be sure to check <b><tt>ssh</tt></b> access to the node itself as well. Use the following command string to check that you can reach each node in the instance without having to provide a password: </p> 
 <div class="source"> 
  <div class="source"> 
   <pre>$ for node in $NODE_LIST; do ssh $user@$node &quot;ls -al /etc/passwd&quot;; done
</pre> 
  </div> 
 </div> 
 <p>Try the validation command string from all or some nodes in the instance.</p> 
 <h1 id="additional_information">Additional Information</h1> 
 <p>Passwordless ssh isn’t considered secure in some installations. We don’t have a solution for this situation yet.</p> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Project</li>
						<li >
							<a href="index.html" title="Overview">Overview</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Apache+Trafodion+Home" title="Wiki" class="externalLink">Wiki</a>
						</li>
						<li >
							<a href="https://www.youtube.com/playlist?list=PLyyCp3HBB8Tv9696OnG0_mmgF5tfHeyOi" title="Videos" class="externalLink">Videos</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Roadmap" title="Roadmap" class="externalLink">Roadmap</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-redirect.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="http://www.apache.org/events/current-event.html" title="Events" class="externalLink">Events</a>
						</li>
						<li >
							<a href="logo.html" title="Logo">Logo</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="http://im.qq.com" title="QQ (Group ID: 233105278)" class="externalLink">QQ (Group ID: 233105278)</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="http://www.apache.org/security/" title="Security" class="externalLink">Security</a>
						</li>
						<li >
							<a href="mailto:security@trafodion.apache.org" title="Report Security Issue" class="externalLink">Report Security Issue</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability#TrafodionManageability-LoggingEvents" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Tutorial:+The+object-oriented+UDF+interface" title="Object-Oriented UDF Tutorial" class="externalLink">Object-Oriented UDF Tutorial</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Trafodion+Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Backup+and+Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Metadata+Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015-2019 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, and the Apache Maven project logo
        are trademarks of the Apache Software Foundation.</span>
  <br/>
  <br/>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="//yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
