本文主要讲述一个ssh相关的一些用法。
SSH用法详解
ssh命令
OpenSSH SSH Client (remote login program)
ssh (ssh客户机)是一个用于登录到远程计算机到程序在远程机器上执行命令。它的目的是提供安全
不安全主机上两个不可信主机之间的加密通信网络。X11连接,任意TCP端口和unix域套接字也可以通过
安全通道转发。
ssh连接并登录到指定的目的地, 可以指定为[user@]hostname或表单的URI ssh://[user@]hostname[:port]。用户必须证明他/她的身份
使用几种方法之一的远程计算机(参见下面)。
如果指定了一个命令,它将在远程主机上执行,而不是在登录shell。
使用参数参考
1 | ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] |
参数说明
-f
请求ssh在命令执行之前转到后台。如果ssh要请求密码或口令,但是用户希望它在后台,那么这是非常有用的。这意味着- n。在远程站点上启动X11程序的推荐方法是使用ssh -f主机xterm。
如果将ExitOnForwardFailure配置选项设置为’’yes’’,然后客户端开始与-f将等待所有远程在放置之前,端口将被成功建立在后台中。
-N
不要执行远程命令。这对于转发端口非常有用。
-R [bind_address:]port:host:hostport
-R [bind_address:]port:local_socket
-R remote_socket:host:hostport
-R remote_socket:local_socket
-R [bind_address:]port
指定要将到远程(服务器)主机上的给定TCP端口或Unix套接字的连接转发到本地端。
这是通过分配一个套接字来监听远程端的TCP端口或Unix套接字来实现的。每当这个端口或Unix socket连接,连接转发安全通道,并由本地机器的连接主机端口hostport指定一个明确的目的地,或local_socket,或者,如果没有明确的目的地是指定,ssh将作为一个SOCKS 4/5代理和连接转发到目的地所要求的客户远程SOCKS。
端口转发也可以在配置文件中指定。只有在以root身份登录远程计算机时,才能转发特权端口。IPv6地址可以通过将地址括在方括号中来指定。
默认情况下,服务器上的TCP监听套接字将仅绑定到loopback接口。这可以通过指定bind_address来覆盖。空bind_address或地址’ *‘表示远程套接字应该监听所有接口。只有启用服务器的GatewayPorts选项时,指定远程bind_address才会成功(请参阅sshd_config(5))。
如果端口参数为“0”,侦听端口将在服务器上动态分配,并在运行时报告给客户机。当与-O转发一起使用时,分配的端口将打印到标准输出。
ssh_config
具体参数说明
ExitOnForwardFailure
指定如果ssh(1)无法设置所有请求的动态、隧道、本地和远程端口转发(例如,如果任意一端无法绑定和监听指定端口),则它是否应该终止连接。请注意,ExitOnForwardFailure不适用于通过端口转发建立的连接,例如,如果到最终转发目的地的TCP连接失败,ExitOnForwardFailure不会导致ssh(1)退出。参数必须是yes或no(默认值)。
GatewayPorts
指定是否允许远程主机连接到为客户端转发的端口。默认情况下,sshd(8)将远程端口转发绑定到loopback地址。这将阻止其他远程主机连接到转发的端口。网关端口可以用来指定sshd应该允许远程端口转发绑定到非环回地址,从而允许其他主机进行通信。该参数可能是no,以强制远程端口转发仅对本地主机可用,yes,以强制远程端口转发绑定到通配符地址,或指定client,以允许客户端选择转发绑定到的地址。默认是no。