让ssh跳转支持ipv6

 如果是客户端的话,使用ifconfig -a即可得到ip地址,从中即可发现是否拥有了ipv6地址。

  
  
  
  
  1. root@ubuntu904:~# ifconfig 
  2. eth2      Link encap:以太网  硬件地址 00:0c:29:20:01:31   
  3.           inet 地址:10.20.60.24  广播:10.20.255.255  掩码:255.255.0.0 
  4.           inet6 地址: fe80::20c:29ff:fe20:131/64 Scope:Link 
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1 
  6.           接收数据包:58001 错误:0 丢弃:0 过载:0 帧数:0 
  7.           发送数据包:2912 错误:0 丢弃:0 过载:0 载波:0 
  8.           碰撞:0 发送队列长度:1000  
  9.           接收字节:6705622 (6.7 MB)  发送字节:393072 (393.0 KB) 
  10.           中断:19 基本地址:0x2000  


root@ubuntu904:~# netstat -anp |grep ssh 
如果是服务器端的话,查看sshd服务器是否监控ipv6的22号端口,运行netstat -anp |grep ssh

  
  
  
  
  1. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2536/sshd        
  2. tcp6       0      0 :::22                   :::*                    LISTEN      2536/sshd 

或者运行netstat -ln -A inet6 得到开启ipv6的服务,知道了机器是否支持ipv6,下面就可以书写ipv6的跳转了,目标机的ipv6地址为fe80::20c:29ff:fe2b:dfe5,跳转主机的ipv6地址为fe80::20c:29ff:fe92:3f,执行命令:

ssh -L 55555:[fe80::20c:29ff:fe2b:dfe5%eth0]:22 root@fe80::20c:29ff:fe92:3f%eth2

 

  
  
  
  
  1. root@ubuntu904:~ssh -L 55555:[fe80::20c:29ff:fe2b:dfe5%eth0]:22 root@fe80::20c:29ff:fe92:3f%eth2 
  2. root@fe80::20c:29ff:fe92:3f%eth2's password:  
  3. Last login: Sun Nov 27 22:28:29 2011 from 10.20.60.24 
  4. [root@localhost ~]# 
  5.  
  6. root@ubuntu904:~# netstat -an |grep 55555 
  7. tcp        0      0 127.0.0.1:55555         0.0.0.0:*               LISTEN      
  8. tcp6       0      0 ::1:55555               :::*                    LISTEN      
  9. root@ubuntu904:~# ssh -p 55555 ::1 
  10. root@::1's password:  
  11. Last login: Mon Nov 28 14:29:07 2011 from fe80::20c:29ff:fe92:3f%eth0 
  12. [root@localhost ~]# 

在这条跳转命令中eth2是执行命令的主机的网卡,eth0则是跳转机的网卡,这一点很关键。另外附上sftp的在ipv6情况下的命令格式,第一条命令是采用ssh2协议

sftp -oPort=22 root@[fe80::20c:29ff:fe20:131%eth0]

ssh 第一版协议的命令如下:

sftp -1 -oPort=22  root@[fe80::20c:29ff:fe2b:dfe5%eth0],如果报bash: /usr/lib/misc/sftp-server: No such file or directory的错误,则加上-s参数,后面跟server路径,具体如下sftp -1 -oPort=22 -s /usr/libexec/openssh/sftp-server root@[fe80::20c:29ff:fe2b:dfe5%eth0]

telnet的ipv6登录命令如下

$telnet fe80::7a2b:cbff:fe9e:f76d%eth0,eth0也是执行命令的主机出口网卡

 

 

 

本文出自 “python ubuntu” 博客,谢绝转载!

你可能感兴趣的:(telnet,ssh2,ipv6,休闲,ssh跳转)