Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1316212
  • 博文数量: 161
  • 博客积分: 10192
  • 博客等级: 上将
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 17:09
文章分类

全部博文(161)

文章存档

2012年(2)

2011年(13)

2010年(137)

2009年(5)

2008年(4)

我的朋友

分类: LINUX

2010-07-21 00:05:19

一.Homepage 
二.ssh密钥
1。client:
用ssh-keygen -t dsa 在本地用户.ssh目录下生成公私钥。
2。server:
把公钥传到server上该用户.ssh下,改名为authorized_keys。设置权限。
设置/etc/ssh/sshd_config并重新启动sshd服务。
3。本地测试密钥登录
注:
1。多私钥登录同一服务器,只要在服务器上各自home目录.ssh下设置各自的authorized_keys即可。
2。同一账户在多个client用不同密钥登陆同一台server,只要在服务器的自己home的.ssh下设置一个authorized_keys,其内容为各公钥追加即可。
三.建立ssh隧道
unix: ssh
windows: plink myenttunnel

SSH 是一种安全的传输协议,用在连接服务器上比较多。不过其实除了这个功能,它的隧道转发功能更是吸引人。

1.建立代理服务器
firewall
|
|                        
me:7070 ——  |—-ssh server  ——> internet
 

plink -f -N dudu@vpn.dugoo.net  -D 7070
ssh -f -N dudu@vpn.dugoo.net  -D 7070
工 作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口,一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持SOCKS4 协议, ssh 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口.  可以在配置文件中指定动态端口的转发.

是ssh登录的用户名和地址
-f 表示在后台执行
-D 表示dynamic port forwarding, 将ssh作为SOCKS代理服务器,在本机监听7070端口
-N 表示不需要交互操作,也就是说登录ssh后不启动shell
这个-N参数只支持ssh的protocol version 2 
然后 设置浏览器代理就OK了.

2.与服务器之间建立起一条加密通道
————
|   internet |
me:21 — —– |            | ———> 内网ftp server :21
                ————-                  

plink -N  dudu@vpn.dugoo.net -L 21:localhost:21
ssh -N   dudu@vpn.dugoo.net -L 21:localhost:21

L 表示Local port forwarding 本地端口转发
21:localhost:21 表示本地的pc机的21端口转发到服务器(vpn.dugoo.net)上的localhost:21这个端口
访问本机的21端口就等于访问服务器上的ftp服务了,而且是经过加密的
$ftp localhost 21

其实FTP的加密通道早就有了,就是SFTP。


3.穿过防火墙,访问内网的服务
firewall
|
|
me:8801  ——- | —- ssh server ——> 内网MySQL :3306
      
因为防火墙限制,无法直接访问防火墙后的内网的其它机器! 如果想访问内网服务,就要有服务器对外提供ssh登录服务,就OK了!! 
比如要访问MySQL数据库
plink -N dudu@vpn.dugoo.net  -L 8801:192.168.1.123:3306
ssh  -N dudu@vpn.dugoo.net  -L 8801:192.168.1.123:3306
将本机8801转发到内网 192.168.1.123监听器端口3306,我就可以很方便的从本机直接登录内网数据库了

注意:这里是不通过套接字连接服务器,而是 通过tcp/ip来连接服务器,故要建立一个tcp/ip连接,需用127.0.0.1代替locahost作为-h参数的值来连接服务器。
$mysql -h 127.0.0.1 --port=8801 -utestuser -p


4.穿过防火墙,让内网机器访问我的服务
firewall
|
me :80 <—–   |——– ssh server <——- 内网:8080
前面的都是Local port forwarding本地端口转发,Remote port forwarding和它正好相反,是将远端端口转发到本地
比如,在本机建立了一个http服务器,想从内网的访问到我的http服务器
plink  -N  dudu@vpn.dugoo.net -R 8080:localhost:80
ssh -N  dudu@vpn.dugoo.net -R 8080:localhost:80

将ssh server上的8080转发到本机的localhost:80上ssh server,就可以访问我的http服务啦
要让内网其它机器也能访问,一定要打开ssh的GatewayPorts参数, 重启sshd服务,使修改的参数生效
#vi /etc/ssh/sshd_config
修改为
GatewayPorts yes

从 内网任何一台机器都能访问.
阅读(892) | 评论(4) | 转发(0) |
0

上一篇:SQL SERVER 2005的群集

下一篇:linux:NTPD SERVER

给主人留下些什么吧!~~

chinaunix网友2011-08-02 16:00:23

 任何一个系统管理员或站长对SSH都不会陌生,这个伟大的技术免去了我们跑去机房管理服务器,或者在远程连接服务器时时刻担心内容被窃取的心惊胆战。本文将为大家介绍25个最佳的SSH命令,如果您还没用过,那么有必要将它们记录一下。   OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。   SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。   (注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。)   1、复制SSH密钥到目标主机,开启无密码SSH登录   ssh-copy-id user@host   如果还没有密钥,请使用ssh-k

chinaunix网友2011-08-02 16:00:23

 任何一个系统管理员或站长对SSH都不会陌生,这个伟大的技术免去了我们跑去机房管理服务器,或者在远程连接服务器时时刻担心内容被窃取的心惊胆战。本文将为大家介绍25个最佳的SSH命令,如果您还没用过,那么有必要将它们记录一下。   OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。   SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。   (注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。)   1、复制SSH密钥到目标主机,开启无密码SSH登录   ssh-copy-id user@host   如果还没有密钥,请使用ssh-k

chinaunix网友2010-12-07 16:09:15

对话 UNIX: 高效管理大量计算机 前提:假设您已经把公共密钥分发到希望访问的每个远程系统上(避免每次都需要输入密码) 1. 强力方式 2. dsh 3. pssh

chinaunix网友2010-12-07 16:09:15

对话 UNIX: 高效管理大量计算机 前提:假设您已经把公共密钥分发到希望访问的每个远程系统上(避免每次都需要输入密码) 1. 强力方式 2. dsh 3. pssh