<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>绿色记忆 &#187; OpenSSH</title>
	<atom:link href="https://blog.gmem.cc/tag/openssh/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.gmem.cc</link>
	<description></description>
	<lastBuildDate>Sat, 11 Apr 2026 09:34:37 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.14</generator>
	<item>
		<title>Ubuntu下安装OpenSSH服务器和客户端</title>
		<link>https://blog.gmem.cc/openssh-under-ubuntu</link>
		<comments>https://blog.gmem.cc/openssh-under-ubuntu#comments</comments>
		<pubDate>Sat, 18 Dec 2010 07:52:04 +0000</pubDate>
		<dc:creator><![CDATA[Alex]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[PuTTY]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://blog.gmem.cc/?p=1092</guid>
		<description><![CDATA[<p>OpenSSH 安装 [crayon-69da2d5368a07541698151/] 服务器配置 [crayon-69da2d5368a0f591513042/] 客户端配置 服务器可以发起保活心跳，客户端也可以： [crayon-69da2d5368a12061156032/] 设置默认Identity 要修改当前用户的默认SSH Key的位置，使用配置文件： [crayon-69da2d5368a15721944206/] 免密码登录 [crayon-69da2d5368a17000036358/] 使用puTTY登录 先输入Session名称，然后点击Save，才能保存；加载时要先点击名称，然后Load： 小键盘功能默认是输入不了数字的，需要改为： 中文乱码问题的解决（设置编码方式与服务器一致，默认UTF-8）： 免密码登录：点击右侧的按钮，上传上文介绍的私钥文件 也可以使用PuTTYgen.exe生成密钥对，并把公钥附到服务器的~/.ssh/authorized_keys文件中： sshpass 该命令支持通过参数传递SSH密码。 <a class="read-more" href="https://blog.gmem.cc/openssh-under-ubuntu">[...]</a></p>
<p>The post <a rel="nofollow" href="https://blog.gmem.cc/openssh-under-ubuntu">Ubuntu下安装OpenSSH服务器和客户端</a> appeared first on <a rel="nofollow" href="https://blog.gmem.cc">绿色记忆</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="wri_content_clear_both"><div class="blog_h1"><span class="graybg">OpenSSH</span></div>
<div class="blog_h2"><span class="graybg">安装</span></div>
<pre class="crayon-plain-tag">sudo apt-get install openssh-client
sudo apt-get install openssh-server</pre>
<div class="blog_h2"><span class="graybg">服务器配置</span></div>
<pre class="crayon-plain-tag">#监听端口
Port 22
#启用证书方式登录
PubkeyAuthentication yes
#启用登录欢迎横幅
Banner /etc/issue.net

# 允许root通过密码登录
PermitRootLogin yes

#每隔60秒发送一次心跳给客户端
ClientAliveInterval 60
#如果连续5次心跳客户端没响应，则断开连接
ClientAliveCountMax 5</pre>
<div class="blog_h2"><span class="graybg">客户端配置</span></div>
<p>服务器可以发起保活心跳，客户端也可以：</p>
<pre class="crayon-plain-tag">ServerAliveInterval 60
ServerAliveCountMax 5</pre>
<div class="blog_h3"><span class="graybg">设置默认Identity</span></div>
<p>要修改当前用户的默认SSH Key的位置，使用配置文件：</p>
<pre class="crayon-plain-tag">IdentityFile /home/alex/Documents/puTTY/gmem.key</pre>
<div class="blog_h2"><span class="graybg">免密码登录</span></div>
<pre class="crayon-plain-tag">#生成密钥，提示保存位置和保护密码时，根据需要输入
#默认情况下，私钥存放在：~/.ssh/id_dsa；公钥存放在：~/.ssh/id_dsa.pub
ssh-keygen -t dsa
#将公钥附加到SSH服务器上的~/.ssh/authorized_keys文件尾部，并修改权限
chmod 600 ~/.ssh/authorized_keys</pre>
<div class="blog_h2"><span class="graybg">使用puTTY登录</span></div>
<div>先输入Session名称，然后点击Save，才能保存；加载时要先点击名称，然后Load：</div>
<div><a href="/wp-content/uploads/2010/12/putty-setting-1.jpg"><img src="https://blog.gmem.cc/wp-content/uploads/2010/12/putty-setting-1.jpg" alt="putty-setting-1" width="472" height="456" /></a></div>
<div>小键盘功能默认是输入不了数字的，需要改为：</div>
<p><a href="/wp-content/uploads/2010/12/putty-setting-2.jpg"><img src="https://blog.gmem.cc/wp-content/uploads/2010/12/putty-setting-2.jpg" alt="putty-setting-2" width="471" height="454" /></a></p>
<div>中文乱码问题的解决（设置编码方式与服务器一致，默认UTF-8）：</div>
<div><a href="/wp-content/uploads/2010/12/putty-setting-3.jpg"><img src="https://blog.gmem.cc/wp-content/uploads/2010/12/putty-setting-3.jpg" alt="putty-setting-3" width="470" height="452" /></a></div>
<div>免密码登录：点击右侧的按钮，上传上文介绍的私钥文件</div>
<p><a href="/wp-content/uploads/2010/12/putty-setting-4.jpg"><img src="https://blog.gmem.cc/wp-content/uploads/2010/12/putty-setting-4.jpg" alt="putty-setting-4" width="472" height="456" /></a></p>
<div>也可以使用PuTTYgen.exe生成密钥对，并把公钥附到服务器的~/.ssh/authorized_keys文件中：</div>
<div><a href="/wp-content/uploads/2010/12/putty-setting-5.jpg"><img src="https://blog.gmem.cc/wp-content/uploads/2010/12/putty-setting-5.jpg" alt="putty-setting-5" width="500" height="488" /></a></div>
<div class="blog_h1"><span class="graybg">sshpass</span></div>
<div>该命令支持通过参数传递SSH密码。</div>
<div class="blog_h2"><span class="graybg">安装</span></div>
<div>
<pre class="crayon-plain-tag">wget https://jaist.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz --no-check-certificate
tar xzf sshpass-1.06.tar.gz
cd sshpass-1.06
./configure --prefix=/usr
make &amp;&amp; make install</pre>
</div>
<div class="blog_h2"><span class="graybg">命令格式</span></div>
<div>
<pre class="crayon-plain-tag">sshpass [-ffilename|-dnum|-ppassword|-e] [options] command arguments

# 一键穿过堡垒机
sshpass -p passwd ssh -t root@bastion  sshpass -p passwd ssh -t root@server ssh -t ***</pre>
</div>
<div class="blog_h2"><span class="graybg">常见问题</span></div>
<div class="blog_h3"><span class="graybg">无法分配伪终端</span></div>
<div>报错信息：Pseudo-terminal will not be allocated because stdin is not a terminal.</div>
<div>解决办法：使用 <pre class="crayon-plain-tag">ssh -t</pre>参数。</div>
<div class="blog_h3"><span class="graybg">unknown terminal type</span></div>
<p>报错信息：'screen-256color': unknown terminal type.</p>
<p>解决办法：使用环境变量<pre class="crayon-plain-tag">TERM=xterm-256color sshpass -p ...</pre></p>
<div class="blog_h1"><span class="graybg">AutoSSH</span></div>
<div>此工具能够监控SSH会话，当它失效、停止传输流量时，可以重启之。AutoSSH会创建一对端口转发，分别从本地到远程、远程到本地，并通过此端口转发来发送心跳数据。</div>
<div> </div>
<div>SSH会话的退出状态影响AutoSSH的行为：</div>
<div>
<ol>
<li><span style="font-family: Ubuntu, Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">如果SSH会话正常退出，例如在交互式会话中输入exit命令，则AutoSSH不会重新连接</span></li>
<li>如果AutoSSH本身接收到SIGTERM、SIGINT、SIGKILL信号，则认为用户有意退出AutoSSH，不会重新连接</li>
<li>如果AutoSSH本身接收到SIGUSR1，则杀死并重启SSH进程</li>
<li>默认的，每10分钟AutoSSH通过监控的转发端口发送测试数据，如果失败，则杀死SSH进程并重新连接</li>
<li>如果SSH进程因为任何原因宕掉，自动重新创建</li>
</ol>
<div class="blog_h2"><span class="graybg">命令示例</span></div>
<pre class="crayon-plain-tag"># 命令格式
autossh [-V] [-M port[:echo_port]] [-f] [SSH_OPTIONS]

# 示例
# 监控端口22222/22223，分别用于发送、接收Echo信息
# -f后面的参数全部传递给SSH命令
/usr/bin/autossh -M 22222 -fnN -R localhost:2222:localhost:22 -i gmem.key root@bj.gmem.cc
# 在服务器的2222端口反向转发给本机的22端口</pre>
<div class="blog_h2"><span class="graybg">环境变量</span></div>
<table class="full-width fixed-word-wrap">
<thead>
<tr>
<td style="width: 25%; text-align: center;">变量</td>
<td style="text-align: center;">说明</td>
</tr>
</thead>
<tbody>
<tr>
<td>AUTOSSH_FIRST_POLL</td>
<td>第一次执行发送测试数据的延迟</td>
</tr>
<tr>
<td>AUTOSSH_POLL</td>
<td>发送测试数据的间隔，默认600秒。如果此变量小于网络超时（默认15秒）的2倍，则网络超时被调整为AUTOSSH_POLL / 2</td>
</tr>
<tr>
<td>AUTOSSH_PORT</td>
<td>设置监控端口，覆盖-M参数</td>
</tr>
</tbody>
</table>
</div>
<div> </div>
<div class="blog_h1"><span class="graybg">常见问题</span></div>
<div class="blog_h2"><span class="graybg">SSH到当前机器本身极慢</span></div>
<div>可能是DNS的原因，可以修改配置：<br />
<pre class="crayon-plain-tag">UseDNS no</pre></p>
<p>&nbsp;</p>
</div>
</div><p>The post <a rel="nofollow" href="https://blog.gmem.cc/openssh-under-ubuntu">Ubuntu下安装OpenSSH服务器和客户端</a> appeared first on <a rel="nofollow" href="https://blog.gmem.cc">绿色记忆</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.gmem.cc/openssh-under-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
