Linux-3d-animation-w/SSH

Wikipedia,自由的百科全书

</a>SSH进行远程管理</h3>

SSH是一个安全地访问远程服务器的工具,它可以对所有的传输数据包进行加密这样“中间人”的攻击方式就不可能实现,而且也能能够防止DNSIP欺骗,同时它还对传输的数据进行了压缩(这个压缩率是可以调整的)以加快传输速度。

Contents

如何快速连接到服务器

如果你管理了很多的服务器,哪么对你来说快速、安全的连接到指定的服务器上输入指定的命令是非常重要的。而SSH正好可以满足你的要求,你只用使用SSH servername后再输入密码就可以安全的连接到你要连接的服务器上。但是每天不段的输入ssh servername后再输入密码会不会让你厌烦呢?让我们来看看下面的例了,我想它会让你感到轻松一些:

ssh-keygen –t rsa

生成公钥和私钥对,这个大家都熟悉吧

接下来输入两次密码短语后ssh-keygen会在你的目录家下面生成一个.ssh/id_rsa.ssh/id_pub的文件,这两个就是你的公钥、私钥对

接下来输入下面命令:

ssh servername “mkdir .ssh; chmod 0700 .ssh”

cps .ssh/id_rsa.pub servername:.ssh/authorized_keys2

现在你只用简单的输入sssh servername就可以不用输入密码来自动登录服务器,如果成功的话,系统也会将此公钥用于scprsyncsftp,这样scp等程序也不用输入密码可以进行拷贝了。

使用Turbo模式来登录SSH

看了上面的例子觉得怎么样?现在我们再来更进一步的使用SSH

先来建立一个脚本文件,内容很简单就两行:

#! /bin/sh

ssh `basename $0` $*

将它存到/bin下,文件名为s-sshto

现在转到/bin下,我们来做连接

ls –s s-sshto servername

将你要登录的服务器名换成servername就行了。

现在你只要输入servername就可以登录到你指定的服务上去了,而不用输入ssh,如果你已经半公钥复制到了服务器上了哪么连密码也不用输入了。

不要急着去试,我们的例子还没有完,注意到刚才存的如个脚本的最后两个字符$*了吗?它的作用是让你在单独的一行中运行多个命令而不用打开多个shell例如:

servername df

它可以显示服务器所有的分区使用情况。你也可以将df换成其它命令。

现在,通过这个简单的脚本我们可以更快速的完成我们要完成的任务。

使用SSH登录X

SSH不但支持登录X而且可以很好的转发X的流量

在要使用的ssh服务器上,编辑/etc/ssh/sshd_config文件:

找到

X11Forwarding no

改成:

X11Forwarding yes

然后重新启动sshd

/etc/init.d/ssh restart

现在,输入下面命令:

ssh –X catlin

gkrellm &

如果本机上运行了X就会在桌面上显示出gkrellm 程序,不过gkrellm 实现上是在当前登录的机上运行的,所有的X流量都会经过加密差通过所登录的ssh连接发送,并在本地主机上显示。

如果你不想输入-X的话哪么在你的目录家下的.ssh/config文件中修改:

ForwardX11 no

ForwardX11 yes

记不记得上面讲的使用Trubo模式,在这里也可能使用这模式,这样可以快速的完成远程X的作业了。

使SSH转发穿越防火

有很多的网络使用非常严格的防火墙规则,不但过滤进入的连接,而且还过滤出去的连接,甚至你只能使用22号端口来工作,而其它的服务如:WEBFTPMail等使用了其它端口的服务你都不能使用。这时你就可以使用ssh来穿越防火墙。

Ssh  8080:代理服务器的IP:80

现在你已经建立了一个穿越防火墙的连接,它将本地主机的8080端口转发到了代理服务器上是80号端口,这样你就成功的穿越了防火墙

你也可以下面的命令来转发多个端口

ssh -f [username@remote host] -L [local port]:[full name of remote host]:[remote port] [some command]

你不仅可以转发多个端口而且可以在“~/.ssh/config”文件中用“LocalForward”设置经常使用的一些转发端口。

Personal tools