前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

ssh的高级用法

时候:2014-08-14 00:12来源:知行网www.zhixing123.cn 编辑:麦田守望者

1. 用ssh做正向连接
啥叫正向连接?就是client连上server,然后把server能拜候的机器地点和端口(当然也包含server本身)镜像到client的端口上。

ssh -L [客户端IP或省略]:[客户端端口]:[办事器侧能拜候的IP]:[办事器侧能拜候的IP的端口] [登岸办事器的用户名@办事器IP] -p [办事器ssh办事端口(默许22)]
此中,客户端IP可以省略,省略的话就是127.0.0.1了,也就是说只能在客户端本地拜候。办事器IP都可以用域名来代替。 举例申明: 你的IP是192.168.1.2,你可以ssh到某台办事器8.8.8.8,8.8.8.8可以拜候8.8.4.4,你内网里另有一台机器可以拜候你。 如果你想让内网里的别的一台电脑拜候8.8.4.4的80端口的http办事,那么可以履行:

ssh -L 192.168.1.2:8080:8.8.4.4:80 test@8.8.8.8
也就是说,ssh到8.8.8.8上,然后让8.8.8.8把8.8.4.4的80端口映照到本地的8080端口上,并且和本地192.168.1.2这个IP绑定。 内网里的别的一台机器可以经由过程IE浏览器中输入http://192.168.1.2:8080检察8.8.4.4的网页。 当然,如果是其他办事,比如ftp、ssh、长途桌面也是可以的。不过,VPN貌似是不可的,多是因为GRE和谈无法经由过程。

2. 用ssh做反向连接
啥叫反向连接?就是client连上server,然后把client能拜候的机器地点和端口(也包含client本身)镜像到server的端口上。 反向连接用得可能更多一些。比如你的客户端在内网,在外网是无法直接拜候到的,这时候用反向连接打通一条隧道,便可以从外网经由过程这条隧道出去了。 号令:

ssh -R [办事器IP或省略]:[办事器端口]:[客户端侧能拜候的IP]:[客户端侧能拜候的IP的端口] [登岸办事器的用户名@办事器IP] -p [办事器ssh办事端口(默许22)]
此中,办事器IP如果省略,则默许为127.0.0.1,只需办事器本身可以拜候。指定办事器外网IP的话,任何人都可以经由过程[办事器IP:端口]来拜候办事。当然,这个时候办事器本机也要输入外网IP:端口来拜候。 举例申明: 你的IP是192.168.1.2,你可以ssh到外网某台办事器8.8.8.8,你内网里有一台机器192.168.1.3。 如果你想让外网所有的能拜候8.8.8.8的IP都能拜候192.168.1.3的http办事,那么可以履行:

ssh -R 8.8.8.8:8080:192.168.1.3:80 test@8.8.8.8
也就是说,ssh到8.8.8.8上,然后把本地局域网内192.168.1.3的80端口映照到8.8.8.8的8080端口上,如许外网任何一台可以拜候8.8.8.8的机器都可以经由过程8080端口拜候到内网192.168.1.3机器的80端口了。 反向连接一样支撑各种办事。

3. 用ssh做socks代办代理
假定你内网里某台机器可以上彀,但是你不克不及上彀,如果你有ssh到那台机器的权限,那么便可以操纵ssh体例建立一个代办代理socks5,经由过程代办代理来上彀。 号令:

ssh -D [本地IP或省略]:[本地端口] [登岸办事器的用户名@办事器IP] -p [办事器ssh办事端口(默许22)]
事理和下面是一样的,履行这个号令以后,本地会监听指定的端口等候连接。 网上很多多少文章说Firefox和Chrome要下载甚么插件才气支撑,其实都是扯淡。 在建设代办代理的时候直接挑选Sock5便可以了,不需求用户名和暗码考证。别的,IE也是支撑Sock5的,详细建设体例是:勾选为LAN利用代办代理办事器,然后任何字段都不要填,点“高级”按钮,在套接字内里填好呼应的建设,其他都留空。 Chrome默许采取IE的建设,所以如果IE建设好了,Chrome也是可以上彀的。 别的,可利用一个叫做Sockscap的软件,把利用扔出来就可以以代办代理的体例上彀了。(部分需求调用多个过程的利用可能不可) 说句题外话,QQ2012版目前的Socks5代办代理上彀服从貌似不支撑本地Socks5代办代理,不过可以挑选“浏览器建设”体例来躲避。

把socks代办代理转换成http代办代理 如果你想把socks代办代理转换成http代办代理,可以用privoxy这个东东。去官网下载个.zip的文件包,然后解压到肆意目次,履行可履行文件。 在主界面点击Options菜单->Edit Main Configuration,在弹出的文本文件中搜刮forward-socks5,找到的章节就是讲socks5转换的。 回车新建一行,输入forward-socks5 / [本地IP]:[本地端口] . 重视前面另有个“.”,然后保存。 如许便可以实现把socks5代办代理转换成127.0.0.1:8118的http代办代理了。法度可以经由过程127.0.0.1:8118这个http代办代理上彀。 如果你想让局域网内其他IP也能经由过程你的机器上彀,需求点窜建设文件中的listen-address部分,搜刮一下信赖你就会看大白了。

4. Windows下的ssh和ssh server
不要以为只需Linux下才气用ssh,Windows下一样有强年夜的ssh号令行东西和ssh办事器。并且对以上服从支撑的都很好。 那就是伟年夜的PuTTY!去官方网站下载吧! ssh号令行客户端对应的是plink.exe,号令略微有一点不合(比如指定端口是年夜写的P),详细看帮忙文件稍作点窜就好了。 ssh办事器端是WinSSHD,傻瓜式装置,默许建设支撑windows用户认证。

5.主动连接和防断线脚本
如果你想让连接持久保持,可以写个脚原本包管因为收集启事断线的话可以主动重连。 先说Windows平台,用plink -pw参数可以指定暗码,所以只需写个批措置:

:1
plink -pw “password” -D 7070 user@serverip
goto 1
如许应当便可以处理年夜多数问题酿成的断线。 Linux平台ssh默许不支撑把暗码作为参数,不过有sshpass可以搞定

sshpass -p 暗码 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l root -R 10002:127.0.0.1:12580 -N 66.160.159.139 -p 56789

然后写脚本autossh.sh,内容以下

#!/bin/bash

while [ '' == '' ]
do
ssh_d_process_num=`ps aux|grep -E 'ssh \-' |grep -v grep |wc -l`
if [ "$ssh_d_process_num" == "0" ]; then
/home/user/sshpass -p "password" ssh -D 7070 user@ServerIP &
fi

sleep 300
done

顶一下
(3)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Linux Ubuntu 操纵体系 Unix Android fedora debian
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣