轉載位址:http://oldboy.blog.51cto.com/2561410/1915017
1)首先做好SSH密鑰驗證(跳闆機位址192.168.33.128)
<code>[root@oldboy~]</code><code># useradd jump #<==要在所有機器上操作。</code>
<code>[root@oldboy~]</code><code># echo 123456|passwd --stdin jump #<==要在所有機器上操作。</code>
<code>Changingpassword </code><code>for</code> <code>user jump.</code>
<code>passwd</code><code>:all authentication tokens updated successfully.</code>
以下操作指令僅在跳闆機上操作:
<code>[root@oldboy~]</code><code># su - jump</code>
<code>[jump@oldboy~]$ </code><code>ssh</code><code>-keygen -t dsa -P </code><code>''</code> <code>-f ~/.</code><code>ssh</code><code>/id_dsa</code> <code>></code><code>/dev/null</code> <code>2>&1 </code><code>#<==生成密鑰對。</code>
<code>[jump@oldboy~]$ </code><code>ssh</code><code>-copy-</code><code>id</code> <code>-i ~/.</code><code>ssh</code><code>/id_dsa</code><code>.pub 192.168.33.130 </code><code>#<==将公鑰分發到其他伺服器。</code>
<code>Theauthenticity of host </code><code>'192.168.33.130 (192.168.33.130)'</code> <code>can't be established.</code>
<code>RSA keyfingerprint is fd:2c:0b:81:b0:95:c3:33:c1:45:6a:1c:16:2f:b3:9a.</code>
<code>Are yousure you want to </code><code>continue</code> <code>connecting (</code><code>yes</code><code>/no</code><code>)? </code><code>yes</code>
<code>Warning:Permanently added </code><code>'192.168.33.130'</code> <code>(RSA) to the list of known hosts.</code>
<code>[email protected]'spassword:</code>
<code>Now trylogging into the machine, with </code><code>"ssh '192.168.33.130'"</code><code>, and check </code><code>in</code><code>:</code>
<code> </code>
<code> </code><code>.</code><code>ssh</code><code>/authorized_keys</code>
<code>to makesure we haven</code><code>'t added extra keys that you weren'</code><code>t expecting.</code>
<code>[jump@oldboy~]$ </code><code>ssh</code><code>-copy-</code><code>id</code> <code>-i ~/.</code><code>ssh</code><code>/id_dsa</code><code>.pub 192.168.33.129 </code><code>#<==将公鑰分發到其他伺服器。</code>
<code>Theauthenticity of host </code><code>'192.168.33.129 (192.168.33.129)'</code> <code>can't be established.</code>
<code>Warning:Permanently added </code><code>'192.168.33.129'</code> <code>(RSA) to the list of known hosts.</code>
<code>[email protected]'spassword:</code>
<code>Now trylogging into the machine, with </code><code>"ssh '192.168.33.129'"</code><code>, and check </code><code>in</code><code>:</code>
2)實作傳統的遠端連接配接菜單選擇腳本。
菜單腳本如下:
<code>cat</code> <code><<menu</code>
<code> </code><code>1)oldboy-192.168.33.129</code>
<code> </code><code>2)oldgirl-192.168.33.130</code>
<code> </code><code>3)</code><code>exit</code>
<code>menu</code>
3)利用linux信号防止使用者中斷信号在跳闆機上操作。
<code>functiontrapper () {</code>
<code> </code><code>trap</code> <code>':'</code> <code>INT EXIT TSTP TERM HUP </code><code>#<==屏蔽這些信号。</code>
<code>}</code>
4)使用者登入跳闆機後即調用腳本(不能指令行管理跳闆機),并隻能按管理者的要求選單。
以下為實戰内容。
腳本放在跳闆機上:
<code>[root@oldboy~]</code><code># echo '[ $UID -ne 0 ] && . /server/scripts/jump.sh'>/etc/profile.d/jump.sh </code>
<code>[root@oldboy~]</code><code># cat /etc/profile.d/jump.sh</code>
<code>[ $UID-</code><code>ne</code> <code>0 ] && . </code><code>/server/scripts/jump</code><code>.sh</code>
<code>[root@oldboyscripts]</code><code># cat /server/scripts/jump.sh</code>
<code>#!/bin/sh</code>
<code>#oldboy training</code>
<code>trapper(){</code>
<code> </code><code>trap</code> <code>':'</code> <code>INT EXIT TSTP TERM HUP </code><code>#<==定義需要屏蔽的信号,冒号表示啥都不做。</code>
<code>main(){</code>
<code>while</code> <code>:</code>
<code>do</code>
<code> </code><code>trapper</code>
<code> </code><code>clear</code>
<code> </code><code>cat</code><code><<menu</code>
<code> </code><code>1)Web01-192.168.33.129</code>
<code> </code><code>2)Web02-192.168.33.130</code>
<code>read</code> <code>-p</code><code>"Pls input a num.:"</code> <code>num</code>
<code>case</code><code>"$num"</code> <code>in</code>
<code> </code><code>1)</code>
<code> </code><code>echo</code> <code>'login in 192.168.33.129.'</code>
<code> </code><code>ssh</code> <code>192.168.33.129</code>
<code> </code><code>;;</code>
<code> </code><code>2)</code>
<code> </code><code>echo</code> <code>'login in 192.168.33.130.'</code>
<code> </code><code>ssh</code> <code>192.168.33.130</code>
<code> </code><code>110)</code>
<code> </code><code>read</code> <code>-p </code><code>"your birthday:"</code> <code>char</code>
<code> </code><code>if</code> <code>[ </code><code>"$char"</code> <code>= </code><code>"0926"</code><code>];</code><code>then</code>
<code> </code><code>exit</code>
<code> </code><code>sleep</code> <code>3</code>
<code> </code><code>fi</code>
<code> </code><code>*)</code>
<code> </code><code>echo</code> <code>"select error."</code>
<code> </code><code>esac</code>
<code>done</code>
<code>main</code>
執行效果如下:
<code>[root@oldboy~]</code><code># su - jump #<==切到普通使用者即彈出菜單,工作中直接用jump登入,即彈出菜單。</code>
<code> </code><code>1)Web01-192.168.33.129</code>
<code> </code><code>2)Web02-192.168.33.130</code>
<code>Pls inputa num.:</code>
<code>Pls inputa num.:1 </code><code>#<==選1進入Web01伺服器。</code>
<code>login in192.168.33.129.</code>
<code>Lastlogin: Tue Oct 11 17:23:52 2016 from 192.168.33.128</code>
<code>[jump@littleboy~]$ </code><code>#<==按ctrl+d退出到跳闆機伺服器再次彈出菜單。</code>
<code>Pls inputa num.:2 </code><code>#<==選2進入Web02伺服器。</code>
<code>login in192.168.33.130.</code>
<code>Lastlogin: Wed Oct 12 23:30:14 2016 from 192.168.33.128</code>
<code>[jump@oldgirl~]$ </code><code>#<==按ctrl+d退出到跳闆機伺服器再次彈出菜單。</code>
<code> </code><code>2)Web02-192.168.33.130</code>
<code>Pls inputa num.:110 </code><code>#<==選110進入跳闆機指令提示符。</code>
<code>yourbirthday:0926 </code><code>#<==需要輸入特别碼才能進入的,這裡管理者通道,密碼要保密呦。</code>
<code>[root@oldboyscripts]</code><code># #<==跳闆機管理指令行。</code>
本文轉自027ryan 51CTO部落格,原文連結:http://blog.51cto.com/ucode/1951485,如需轉載請自行聯系原作者