SSH运维常用参数(学习笔记)

来源:互联网 发布:山西省网络快报系统 编辑:程序博客网 时间:2024/06/06 08:55
Linux下的SSH客户端可以配合SSH服务端实现多种需求,在运维工作中,熟练的使用SSH客户端可以解决很多棘手的问题。
  • SSH执行远程主机命令
  • SSH构建跳板隧道
  • SSH指定密钥路径、端口、用户及配置文件
  • 调试模式与绑定IP地址
  • 构建Socket5代理




SSH执行远程主机命令
格式:
ssh username@hostname 'command'

获取远程主机当前系统时间,并以"主机名:时间"的格式保存在本地remote.txt文件中。

ssh root@192.168.1.12 'echo ${HOSTNAME}: `date +%Y-%m-%d\ %H:%M:%S`' >> remote.txt
(反引号取date的值)


SSH构建跳板隧道
hostA可直接访问,hostB只允许hostA访问,用过SSH构建本地到B的连接通道。
ssh -t hostA ssh hostB


echo 'sshd:本地IP' >>/etc/hosts.deny(禁止本地主机访问)
plink.exe -t root@192.168.1.11 ssh 192.168.1.12
通过host1和host2构建跳板隧道,使本地windows可以直接登陆host2
不使用用户名默认使用当前用户
plink.exe是一个命令行形式的ssh客户端,和linux下ssh操作一样。
-t参数主要为ssh提供伪终端交互(连接host1后,连接host2返回的交互信息给了host1,并没有返回给本地)


SSH指定密钥路径、端口、用户及配置文件
-i 指定密钥路径
-p 指定SSH端口
-l 指定用户
-F 指定配置文件(其它)
-t 指定为终端迫使SSH客户端以交互模式工作,常配合expect使用

ssh -l test 192.168.1.10 -i ~/mykey -p 2015 -F ~/myconfig
以test为用户连接192.168.1.10主机,使用当前用户目录下mykey文件作为密钥文件,指定访问远程主机的2015端口并使用myconfig作为ssh客户端设置。


调试模式与绑定IP地址
调试模式:
ssh -v hostname
-v参数以类似log的形式返回debug信息,可以帮助运维人员在SSH连接出现问题时快速查找问题。
绑定IP:
如果SSH客户端有多于两个以上的IP地址,就不能分清到底是哪一个IP地址连接到了SSH服务。
ssh -b 192.268.1.10 root@10.0.0.10
从192.168.1.10与10.0.0.10建立SSH连接。


构建Socket5代理

probem:hostA可以访问www.website.com ,hostB无法直接访问该站点。要求hostB可访问该站点。


windows客户端下需使用Plink 或 MyEntunnel
在hostB中将plink复制到C盘根目录下,cmd输入:
plink username@hostA -D 2015
IE和chrome不支持Socket5代理,firefox可以,设置Socket5代理,填写指定端口即可通过hostA网络获取本地网络受限的网络资源。


plink.exe ubuntu@myvpn.com -i ubuntu.ppk -D 2015

























0 0