Linux ssh参数

Linux ssh参数

ssh [-1246AaCfghkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D port] [-e escape_char] [-F configfile] [-i identity_file]
[-L port:host:hostport] [-l login_name] [-m mac_spec] [-o option] [-p port] [-R port:host:hostport] [-S ctl] [user@]hostname [command]

主要参数:

-a:利用这个参数,可以使转发的认证代理无效。其结果是使已装入内存的口令无效。如果愿意,你也可以针对每台主机指定这个参数,而不是使其成为全程的设置。

-c cipher:可以通过这个参数为你的网上传输指定一个用来加密数据的密钥对。

-C:该参数将使ssh压缩所有通过Secure Shell客户端发送的数据,包括输入、输出、错误消息及转发数据。它使用gzip算法,压缩级别可通过设置配制文件中的参数Compressicn Level来指定。这对于缓慢的传输线路特别有用的。但对于传输速度已经很快的网络则显得没有必要。同样,你可以利用配制文件针对每台主机配置这个参数。

-f:该参数将ssh连接送入后台执行。这在验证已经完成且TCP/IP转发已经建立的情况下会生效。这对在远程主机上启动X程序显得十分重要。其后用户将被提示要求输入口令(提供的认证代理不运行),然后将连接送往后台。
-g:该参数允许远程主机通过端口转发与主机端口相连,通常情况下仅允许本地主机这样做。

-k:这个参数使Kerberos转发功能无效。

-l login_name:这个参数指定你在远程主机上的登录用户名。默认情况下该用户名与你在本地机上的用户名相同。它可以通过配置文件为不同的主机量体裁衣。这个参数是一个很实用的参数,因为许多人在不同的主机上有着不同的用户名。

-L port:host:hostport这个参数转发在本地主机上的指定端口与远程主机上的指定端口连接完成的信息。

-n :这个参数与-f参数类似。然而,在需要敲入口令时它将不会工作。标准输入由/dev/null重定向而得到,当SecureShell客户端被送往后台时必须使用它。这个参数在用来发送X流量至远程主机时被普遍地使用。最好在使用该参数时启用认证代理。

-o option:在命令行参数未被定义时,该参数用来从配置文件中传递参数。这包括StrictHostke yChecking和Use Rsh,它们没有自己的命令行参数。

-p port:可以指定哪个端口用作SecureShell客户端与服务器的连接。默认值为22,它为SecureShell而保留。记住,除非特殊指定,用于服务器的端口号在/etc/services文件中定义。可以通过配置文件针对不同的主机而分别设置。

-P:使用大于1023的端口号(非特权的端口)。不能使用这些端口进行rhost认证。(无论是它自身还是与RSA的组合)。

-q:这个参数选用哑模式。这意味着任何信息,包括警告与诊断信息都不会被显示出来。在你碰到认证或连接问题时,最好关闭该模式。

-R port:host:hostport该参数转发远程主机指定端口到本地主机指定端口上的连接。它和-L参数的工作过程刚好相反。套接字监听远程主机上的端口,只要针对该端口有一个连接,它将被转发到本地主机和主机端口。该转发端口可以在不同的主机上通过配置文件来进行不同的配置。特权端口只能在以超级账号登录到远程主机时转发。

-t:该参数通过指定一个伪终端迫使SecureShell客户端以交互模式工作,即使在给定命令的情况下也是如此。它被用于执行在远地主机上的基于屏幕的程序。

-V:该参数打印出客户端的版本号后退出。

-v :详尽模式。该参数使ssh打印出调试信息,在调试连接、认证及配置问题时该参数特别有用。

-x:该参数用于X流量转发,X被公认为在启动时是不安全的,对安全敏感的站点最好设置这个参数。该参数可以通过配置文件为每一台主机分别设置。

其他参数有关OpenSSH的完整使用信息,可以查看OpenSSH的手册页manpage。Manpage是传统的Unix手册文档系统的一部分,要想在Linux上查看OpenSSH的manpage,只需要在命令行中输入man ssh 。之后返回的信息将告诉你OpenSSH客户端的命令行可选项、配置文件、各个版本的已知bug、会影响操作的外壳环境变量以及相关的manpage。从中你可以发现,与之相关的manpage还包括sshd(OpenSSH服务器)的manpage,ssh-agent(SSH登录管理工具)的manpage,以及OpenSSH工具包中的一系列工具。

网络链接:http://www.eos.ncsu.edu/remoteaccess/man/ssh.html

(1)首次命令测试:

ssh -l [your accountname on the remote host] [address of the remote host]
ssh -l david@192.168.0.3

如果OpenSSH工作正常,你会看到下面的提示信息:
The authenticity of host '192.168.5.33 (192.168.5.33)' can't be established.
RSA key fingerprint is 35:e8:f0:f8:16:f9:04:a8:c9:aa:ea:db:e6:af:05:2a.
Are you sure you want to continue connecting (yes/no)?

OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入"yes"。这将把这台主机的"识别标记"加到"~/.ssh/know_hosts"文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。然后,SSH提示你输入远程主机上你的帐号的口令。输入完口令之后,就建立了SSH连接,这之后就可以象使用telnet那样使用SSH了。

(2)快速自动登录

通常网络管理员要快速登录SSH服务器,可以这样设定,如www.xxx.com 域上有一个david用户。修改客户端配置文件/et/ssh/ssh_config 添加以下内容:

Host xxx
HostName www.xxx.com
User david
ForwardAgent yes
Compression yes

存盘退出。以后使用命令:ssh xxx,ssh服务器会自动从配置文件中查询服务器名称并且使用david的用户名称登录


本文固定链接: http://blog.wwllcchf.com/?p=353 | 吴文龙的个人博客

作者:wuwenlong 于2013年08月16日发表 &
Linux ssh参数 | 吴文龙的个人博客

报歉!评论已关闭.