<?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>Star life &#187; ssh</title>
	<atom:link href="http://liuchangjun.com/tag/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>http://liuchangjun.com</link>
	<description>无欲速 无见小利 欲速则不达 见小利则大事不成</description>
	<lastBuildDate>Wed, 13 Jul 2011 15:00:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SSH forward issue: “channel 2: open failed: administratively prohibited: open failed”</title>
		<link>http://liuchangjun.com/2010/01/04/ssh-forward-issue/</link>
		<comments>http://liuchangjun.com/2010/01/04/ssh-forward-issue/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 14:26:34 +0000</pubDate>
		<dc:creator>star</dc:creator>
				<category><![CDATA[Tech Tools]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://liuchangjun.com/?p=178</guid>
		<description><![CDATA[<p>不知道是升级了Firefox插件FoxyProxy2.16.1的原故，还是修改了其他的配置，无法通过SSH代理访问，返回下面的错误：</p> <p>channel 2: open failed: administratively prohibited: open failed</p> <p>查询了一下，可能是以下几个问题造成的： 1. 服务器上的”sshd_config”文件中的”AllowTcpForwarding yes”和”GatewayPorts yes”没有打开 2. “ssh -D”创建的Socket服务器，错当做http代理服务器用 3. SSH代理是Socket5而不是Socket4</p> <p>我这里就是因为第三个原因造成的，不过以前的FF插件用作Socket4没有这个问题，难道升级后就出现了?</p> <p>Refer to: 1. open failed: administratively prohibited” error with ssh dynamic port forwarding 2. 从windows迁移到Ubuntu Linux一例 3. SSH实现Sock5代理</p> ]]></description>
			<content:encoded><![CDATA[<p>不知道是升级了Firefox插件FoxyProxy2.16.1的原故，还是修改了其他的配置，无法通过SSH代理访问，返回下面的错误：</p>
<p>channel 2: open failed: administratively prohibited: open failed</p>
<p>查询了一下，可能是以下几个问题造成的：<br />
1. 服务器上的”sshd_config”文件中的”AllowTcpForwarding yes”和”GatewayPorts yes”没有打开<br />
2. “ssh -D”创建的Socket服务器，错当做http代理服务器用<br />
3. SSH代理是Socket5而不是Socket4</p>
<p>我这里就是因为第三个原因造成的，不过以前的FF插件用作Socket4没有这个问题，难道升级后就出现了?</p>
<p>Refer to:<br />
1. <a href="http://www.mindward.com/motion/2009/05/open-failed-administratively-prohibited-error-with-ssh-dynamic-port-forwarding-monline.html">open failed: administratively prohibited” error with ssh dynamic port forwarding</a><br />
2. <a href="http://www.fwolf.com/blog/post/318">从windows迁移到Ubuntu Linux一例</a><br />
3. <a href="http://bothlog.com/2009/07/15/ssh-socks-proxyohibited-open-failed/">SSH实现Sock5代理</a></p>
]]></content:encoded>
			<wfw:commentRss>http://liuchangjun.com/2010/01/04/ssh-forward-issue/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Howto incremental backup linux / windows system by rsync</title>
		<link>http://liuchangjun.com/2008/06/10/howto-incremental-backup-linux-windows-system/</link>
		<comments>http://liuchangjun.com/2008/06/10/howto-incremental-backup-linux-windows-system/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 08:39:22 +0000</pubDate>
		<dc:creator>star</dc:creator>
				<category><![CDATA[Tech Script]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[cwrsync]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[incremental]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://star.72pines.com/2008/06/10/howto-incremental-backup-linux-windows-system/</guid>
		<description><![CDATA[Howto backup system <p></p> <p>目录 <p> </p> 1 生成密钥 1.1 在Frontend机器上生成密钥 2 复制密钥 2.1 Fedora linux &#38; Solaris 9 2.2 Redhad linux 3 测试ssh 4 编写同步程序 4.1 在Frontend机器上编写同步程序 4.2 在Windows机器上编写同步程序 4.3 参数意义如下 5 备份目录规则 6 定时执行备份程序 7 FAQ 7.1 如何备份 Solaris 9 上的文件 7.2 如何备份 Windows 上的文件 7.2.1 sshd配置 7.2.2 修复用户 home 配置 7.2.3 避免输入口令 [...]]]></description>
			<content:encoded><![CDATA[<h1 class="firstHeading">Howto backup system</h1>
<p><!-- start content --></p>
<table class="toc" summary="目录">
<tr>
<td>
<p><h2>目录</h2>
<p><span class="toctoggle"><br />
</span></p>
<ul>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E7.94.9F.E6.88.90.E5.AF.86.E9.92.A5"><span class="tocnumber">1</span> <span class="toctext">生成密钥</span></a>
<ul>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.9C.A8Frontend.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.94.9F.E6.88.90.E5.AF.86.E9.92.A5"><span class="tocnumber">1.1</span> <span class="toctext">在Frontend机器上生成密钥</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.A4.8D.E5.88.B6.E5.AF.86.E9.92.A5"><span class="tocnumber">2</span> <span class="toctext">复制密钥</span></a>
<ul>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#Fedora_linux_.26_Solaris_9"><span class="tocnumber">2.1</span> <span class="toctext">Fedora linux &amp; Solaris 9</span></a></li>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#Redhad_linux"><span class="tocnumber">2.2</span> <span class="toctext">Redhad linux</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E6.B5.8B.E8.AF.95ssh"><span class="tocnumber">3</span> <span class="toctext">测试ssh</span></a></li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"><span class="tocnumber">4</span> <span class="toctext">编写同步程序</span></a>
<ul>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.9C.A8Frontend.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"><span class="tocnumber">4.1</span> <span class="toctext">在Frontend机器上编写同步程序</span></a></li>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.9C.A8Windows.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"><span class="tocnumber">4.2</span> <span class="toctext">在Windows机器上编写同步程序</span></a></li>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.8F.82.E6.95.B0.E6.84.8F.E4.B9.89.E5.A6.82.E4.B8.8B"><span class="tocnumber">4.3</span> <span class="toctext">参数意义如下</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.A4.87.E4.BB.BD.E7.9B.AE.E5.BD.95.E8.A7.84.E5.88.99"><span class="tocnumber">5</span> <span class="toctext">备份目录规则</span></a></li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.AE.9A.E6.97.B6.E6.89.A7.E8.A1.8C.E5.A4.87.E4.BB.BD.E7.A8.8B.E5.BA.8F"><span class="tocnumber">6</span> <span class="toctext">定时执行备份程序</span></a></li>
<li class="toclevel-1"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#FAQ"><span class="tocnumber">7</span> <span class="toctext">FAQ</span></a>
<ul>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.A6.82.E4.BD.95.E5.A4.87.E4.BB.BD_Solaris_9_.E4.B8.8A.E7.9A.84.E6.96.87.E4.BB.B6"><span class="tocnumber">7.1</span> <span class="toctext">如何备份 Solaris 9 上的文件</span></a></li>
<li class="toclevel-2"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E5.A6.82.E4.BD.95.E5.A4.87.E4.BB.BD_Windows_.E4.B8.8A.E7.9A.84.E6.96.87.E4.BB.B6"><span class="tocnumber">7.2</span> <span class="toctext">如何备份 Windows 上的文件</span></a>
<ul>
<li class="toclevel-3"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#sshd.E9.85.8D.E7.BD.AE"><span class="tocnumber">7.2.1</span> <span class="toctext">sshd配置</span></a></li>
<li class="toclevel-3"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E4.BF.AE.E5.A4.8D.E7.94.A8.E6.88.B7_home_.E9.85.8D.E7.BD.AE"><span class="tocnumber">7.2.2</span> <span class="toctext">修复用户 home 配置</span></a></li>
<li class="toclevel-3"><a href="http://172.21.128.179/mediawiki/index.php/Howto_backup_system#.E9.81.BF.E5.85.8D.E8.BE.93.E5.85.A5.E5.8F.A3.E4.BB.A4"><span class="tocnumber">7.2.3</span> <span class="toctext">避免输入口令</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td>
</tr>
</table>
<p> if (window.showTocToggle) { var tocShowText = “显示”; var tocHideText = “隐藏”; showTocToggle(); }</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E7.94.9F.E6.88.90.E5.AF.86.E9.92.A5"></a></p>
<h2> <strong>生成密钥</strong></h2>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.9C.A8Frontend.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.94.9F.E6.88.90.E5.AF.86.E9.92.A5"></a></p>
<h3> 在Frontend机器上生成密钥</h3>
<pre># cd ~/.ssh/
# ssh-keygen
# ls -l
total 32
-rw------- 1 root root  1671 Jul 31 11:27 id_rsa
-rw------- 1 root root   395 Jul 31 11:27 id_rsa.pub
-rw-r--r-- 1 root root 10323 Jul 31 16:07 known_hosts</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.A4.8D.E5.88.B6.E5.AF.86.E9.92.A5"></a></p>
<h2> <strong>复制密钥</strong></h2>
<p>将公共密钥复制到需要同步的服务器上：</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name="Fedora_linux_.26_Solaris_9"></a></p>
<h3> Fedora linux &amp; Solaris 9</h3>
<pre># scp id_rsa.pub root@ondosrv:/root/.ssh/authorized_keys2</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name="Redhad_linux"></a></p>
<h3> Redhad linux</h3>
<pre># scp id_rsa.pub root@ondosrv:/root/.ssh/authorized_keys</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E6.B5.8B.E8.AF.95ssh"></a></p>
<h2> <strong>测试ssh</strong></h2>
<p>在Frontend机器上测试</p>
<pre># ssh root@ondosrv</pre>
<p>注释：应该不需要输入密码。</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"></a></p>
<h2> <strong>编写同步程序</strong></h2>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.9C.A8Frontend.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"></a></p>
<h3> 在Frontend机器上编写同步程序</h3>
<pre># cd /backup
# vi sync.sh
# chmod 700 sync.sh
----------------------------
Linux:
rsync -avlR --delete -e ssh root@192.168.100.1:/usr/share/tomcat5/ /backup/ondo/
rsync -avlR --delete /home/utstar/ /backup/frontend/
rsync -avlR --delete /var/named/ /backup/frontend/
rsync -avlR --delete /etc/ /backup/frontend/
----------------------------</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.9C.A8Windows.E6.9C.BA.E5.99.A8.E4.B8.8A.E7.BC.96.E5.86.99.E5.90.8C.E6.AD.A5.E7.A8.8B.E5.BA.8F"></a></p>
<h3> 在Windows机器上编写同步程序</h3>
<pre>rsync -avlR --delete -e ssh '/cygdrive/d/html/PCMS_document/design_document' root@frontend:/backup/hz_3g_filesrv/</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.8F.82.E6.95.B0.E6.84.8F.E4.B9.89.E5.A6.82.E4.B8.8B"></a></p>
<h3> 参数意义如下</h3>
<pre>-a, --archive
It is a quick way of saying you want recursion and want to preserve almost everything.
-v, --verbose
This option increases the amount of information you are given during the transfer.
-l, --links
When symlinks are encountered, recreate the symlink on the destination.
-R, --relative
Use relative paths. 保留相对路径...才不让子目录跟 parent 挤在同一层...
--delete
是指如果服务器端删除了这一文件，那么客户端也相应把文件删除，保持真正的一致。
-e ssh
建立起加密的连接。</pre>
<p>rsync命令的使用请参照：<a href="http://hi.baidu.com/finet/blog/item/e43dd8f2df3fb412b07ec5ca.html" class="external free" title="http://hi.baidu.com/finet/blog/item/e43dd8f2df3fb412b07ec5ca.html" rel="nofollow">http://hi.baidu.com/finet/blog/item/e43dd8f2df3fb412b07ec5ca.html</a></p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.A4.87.E4.BB.BD.E7.9B.AE.E5.BD.95.E8.A7.84.E5.88.99"></a></p>
<h2> <strong>备份目录规则</strong></h2>
<p>备份根目录：</p>
<pre>/backup</pre>
<p>按机器名称建立子目录：</p>
<pre>/backup/ondosrv
/backup/frontend
/backup/mailsrv
......</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.AE.9A.E6.97.B6.E6.89.A7.E8.A1.8C.E5.A4.87.E4.BB.BD.E7.A8.8B.E5.BA.8F"></a></p>
<h2> <strong>定时执行备份程序</strong></h2>
<pre># crontab -e
0 2 * * * /backup/sync.sh</pre>
<p>注释：每天凌晨2点运行进行同步。</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name="FAQ"></a></p>
<h2> <strong>FAQ</strong></h2>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.A6.82.E4.BD.95.E5.A4.87.E4.BB.BD_Solaris_9_.E4.B8.8A.E7.9A.84.E6.96.87.E4.BB.B6"></a></p>
<h3> 如何备份 Solaris 9 上的文件</h3>
<p>Q1: rsync运行出错，e.g. Solaris machine?</p>
<pre>[root@frontend backup]# rsync -avlR --delete -e ssh root@jstart:/jstart/ /backup/vgmsu2/
ksh: rsync:  not found
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(434)</pre>
<p>A: 目的机器上的rsync路径不对，无法找到rsync</p>
<pre>root@vgmsu2:/usr/bin&gt;which rsync
/usr/local/bin/rsync
root@vgmsu2:/usr/bin&gt;ln /usr/local/bin/rsync /usr/bin/rsync
root@vgmsu2:/usr/bin&gt;which rsync
/usr/bin/rsync</pre>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E5.A6.82.E4.BD.95.E5.A4.87.E4.BB.BD_Windows_.E4.B8.8A.E7.9A.84.E6.96.87.E4.BB.B6"></a></p>
<h3> 如何备份 Windows 上的文件</h3>
<p>Q2: 使用 ssh 登录 Windows 服务器总是需要输入口令，如何避免口令的输入？</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name="sshd.E9.85.8D.E7.BD.AE"></a></p>
<h4> sshd配置</h4>
<p>Refer to &#8216;quickstart.txt&#8217;</p>
<pre>$&gt; cd c:\Program Files\OpenSSH\bin
$&gt; mkgroup -l &gt;&gt; ..\etc\group      (local groups)
   mkgroup -d &gt;&gt; ..\etc\group      (domain groups)
$&gt; mkpasswd -l [-u &lt;username&gt;] &gt;&gt; ..\etc\passwd      (local users)
   mkpasswd -d [-u &lt;username&gt;] &gt;&gt; ..\etc\passwd      (domain users)
$&gt; net start opensshd</pre>
<p>现在可以从别的机器用 ssh 登录到 Windows</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E4.BF.AE.E5.A4.8D.E7.94.A8.E6.88.B7_home_.E9.85.8D.E7.BD.AE"></a></p>
<h4> 修复用户 home 配置</h4>
<p>修改 c:\Program Files\OpenSSH\etc\passwd</p>
<pre>root:unused_by_nt/2000/xp:1012:513:root,U-HZ_3G_FILESRV\root,S-1-5-21-448539723-1450960922-725345543-1012:/cygdrive/c/documents and settings/root:/cygdrive/c/program files/openssh/bin/switch</pre>
<p>使用 /cygdrive/c/documents and settings/root 代替 /home/root/</p>
<p class="editsection" style="right; margin-left: 5px">&nbsp;</p>
<p><a name=".E9.81.BF.E5.85.8D.E8.BE.93.E5.85.A5.E5.8F.A3.E4.BB.A4"></a></p>
<h4> 避免输入口令</h4>
<p>Refer to &#8216;key_authentication.txt&#8217;</p>
<pre>复制客户机上的公共密钥到服务器上
$&gt; mkdir C:\Documents and Settings\root\.ssh
$&gt; copy id_rsa.pub C:\Documents and Settings\root\.ssh\authorized_keys
   copy id_rsa.pub C:\Documents and Settings\root\.ssh\authorized_keys2</pre>
<p>如果还是需要输入口令，则需要修改 sshd 配置文件 sshd.conf / sshd_config</p>
<pre>原来的配置：
StrictModes yes
修改后的配置：
StrictModes no</pre>
<p>重启 sshd 服务，就大功告成了。</p>
<pre>rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/d/html/PCMS_document/design_document/' /backup/hz_3g_filesrv/
rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/f/share1/PCMS_document/8250/design_document/' /backup/hz_3g_filesrv/
rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/f/share1/PCMS_document/8260/design_document/' /backup/hz_3g_filesrv/</pre>
]]></content:encoded>
			<wfw:commentRss>http://liuchangjun.com/2008/06/10/howto-incremental-backup-linux-windows-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

