• Linux命令之ssh


    ssh [-l login_name] hostname | user@hostname [command]

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

    ssh(SSH客户端)用于登录远程主机,并且在远程主机上执行命令。它的目的是替换rlogin和rsh,同时在不安全的网络以及两个互不信任的主机之间,提供加密的、安全的通信连接。X11连接和任意TCP/IP端口均可以通过此安全通道转发(forward)。

    当用户通过ssh连接并登录主机hostname后,根据使用协议,使用不用的方法像远程主机证明他/她的身份(详细请使用’man -a ssh’查看)。

    (1).选项

    -1 强制ssh只使用协议第一版
    -2 强制ssh只使用协议第二版
    -4 强制ssh只使用IPv4地址
    -6 强制shh只使用IPv6地址
    -a 禁止转发认证代理的连接
    -A 允许转发认证代理的连接
    代理转发需谨慎。默写用户能够在远程主机上绕过文件访问权限(由于代理的UNIX域socket(套接字)),他们可以通过转发的连接访问本地代理。攻击者不可能从代理获得密钥内容但是他们能够操作这些密钥,利用加载到代理上的身份信息通过认证。
    -b bin_address 在用过多个接口或地址别名的机器上,指定收发接口
    -c blowfish|3des|des 选择加密会话的密码术。3des是默认算法,3des(triple-des)用三支不同的密钥做加密-解密-加密三次运算,被认为比较可靠。blowfish是一种快速的分组加密术(block cipher),非常安全,而且速度笔3des快的多。des仅支持ssh客户端,目的是能够和老式的不支持3des的协议第一版互操作。由于其密码算法上的弱点,强烈建议避免使用。
    -c cipher_spec 另外,对于协议第二版,这里可以指定一组用逗号隔开,按优先顺序排列的密码数,详见Ciphers
    -e ch|^ch|none 设置pty会话的escape字符(默认字符~)。escape字符只在行首有效,escape字符后面跟一个点(.)表示结束连接,跟一个control-Z表示挂起连接(suspend),跟escape字符自己表示输出这个字符。把这个字符设为none则禁止escape功能,使会话完全透明。
    -f 要求ssh在执行命令前退至后台。它用于当ssh准备询问口令或密语,但是用户希望它在后台进行。该选项隐含了-n选项。在远端及其上启动X11程序的推荐手法就是类似于ssh –f host xterm的命令
    -g 允许远端主机连接本地转发的端口
    -i identity_file 指定一个RSA或DSA认证所需的身份(私钥)文件。默认文件是协议第一版的$HOME/.ssh/identity以及协议第二版的$HOME/.ssh/id_rsa和$HOME/.ssh/id_dsa文件。也可以在配置文件中对每个主机单独指定身份文件。可以同时使用多个-i选项(也可以在配置文件中指定多个身份文件)
    -I smartcard_device 指定智能卡(smartcard)设备。参数是设备文件,ssh能够用它和智能卡通信买智能卡里面存储了用户的RSA私钥。
    -k 禁止转发Kerberos门票和AFS令牌。可以在配置文件中对每个主机单独设置这个参数。
    -l login_name 指定登录远程主机的用户。可以在配置文件中对每个主机单独设置这个参数。
    -m mac_spec 另外,对于协议第二版,这里可以指定一组逗号隔开,按优先顺序排列的MAC(消息验证码)算法(message authentication code)。详细以MACs为关键字查询。
    -n 把stdin重定向到/dev/null(实际上防止从stdin读取数据)。ssh在后台运行时一定会用到这个选项。它的常用技巧是远程运行X11程序。例如,ssh -n shadows.cs.hut.fi emacs &将会在shadows.cs.hut.fi上启动emacs,同时自动在加密通道中转发X11连接。Ssh在后台运行。(但是如果ssh要求口令或密语,这种方式就无法工作;参见-f选项)
    -N 不执行远程命令。用于转发端口(限协议第二版)
    -o option 可以在这里给出默写选项,格式和配置文件中的格式一样。它用来设置那些没有命令行开关的选项。
    -p port 指定远程主机的端口。可以在配置文件中对每个主机单独设定这个参数。
    -q 安静模式。消除所有警告和诊断信息。
    -s 请求远程系统激活一个子系统。子系统是SSH2协议的一个特性,能够协助其他应用程序(如sftp)把SSH用做安全通路。子系统通过远程命令指定。
    -t 强制分配伪终端。可以在远程机器上执行任何全屏幕(screen-based)程序,所以非常有用,例如菜单服务。并联的-t选项强制分配终端,即使ssh没有本地终端。
    -T 禁止分配伪终端
    -v 冗详模式。使ssh打印关于运行情况的调试信息。在调试连接,认证和配置问题时非常有用。并联的-v选项能够增加冗详程度。最多为三个
    -x 禁止X11转发。
    -X 允许X11转发。可以在配置文件中对每个主机单独设置这个参数。
    应该谨慎使用X11转发。如果用户在远程主机上能够绕过文件访问权限(根据用户的X授权数据库),他就可以通过转发的连接访问本地X11显示器。攻击者可以据此采取行动,如监视键盘输入等。
    -C 要求进行数据压缩(包括stdin,stdout,stderr以及转发X11和TCP/IP连接的数据)。压缩算法和gzip(1)的一样,协议第一版中,压缩级别’level’用CompressionLevel选项控制。压缩技术在modem线路或其他慢速连接上很有用,但是在高速网络上反而可能降低速度。可以在配置文件中对每个主机单独设置这个参数。另见Compression选项。
    -F configfile 指定一个用户级配置文件。如果在命令行上指定了配置文件,系统级配置文件(/etc/ssh/ssh_config)将被忽略。默认的用户级配置文件是$HOME/.ssh/config
    -L port:host:hostport 将本地机(客户机)的某个端口转发到远端指定机器的指定端口。工作原理是这样的,本地机器上分配了一个socket监听port端口,一旦这个端口上有了连接,该连接就经过安全通道转发出去,同时远程主机和host的hostport端口建立连接。可以在配置文件中指定端口的转发。只有root才能转发特权端口。IPv6地址用另一种格式说明:port/host/hostport
    -R port:host:hostport 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口。工作原理是这样的,远程主机上分配一个socket监听port端口,一旦这个端口上有了连接,该连接经过安全通道转向出去,同时本地主机和host的hostport端口建立连接。可以在配置文件中指定端口的转发。只有用root登录远程主机才能转发特权端口。IPv6地址使用另一种格式:port/host/hostport
    -D port 指定一个本地机器“动态的”应用程序端口转发。工作原理是这样的,本地机器上分配一个socket监听port端口,一旦这个端口上有了连接,该连接就经过安全通道转发出去,根据应用程序的协议可以判断出远程主机将和哪里连接。目前支持SOCKS4可以在配置文件中指定动态端口的转发

    (2).配置文件

    /etc/ssh/ssh_config

    详细请使用’man -a ssh_config’查看帮助文档

    (3).实例

    用CentOS6.8连接CentOS7,或用CentOS7连接CentOS6.8。首先要做的都是开放22端口,CentOS6.8防火墙配置文件在/etc/sysconfig/iptables,而CentOS7配置文件在/etc/firewalld/zones/public.xml。然后重启防火墙服务,CentOS6.8使用service iptables restart,CentOS7使用systemctl restart firewalld。

    首先展示CentOS7连接CentOS6.8

    [xf@xuexi ~]$ ssh root@192.168.128.225
    The authenticity of host '192.168.128.225 (192.168.128.225)' can't be established.
    RSA key fingerprint is SHA256:1ttWCoSQF5u6ZEARHacvCnJeCHK3dCIbQ2ru+lWyAY8.
    RSA key fingerprint is MD5:1e:32:88:36:4f:7e:0b:3d:8f:13:47:d4:a5:96:a9:4a.
    Are you sure you want to continue connecting (yes/no)? y
    Please type 'yes' or 'no': yes
    Warning: Permanently added '192.168.128.225' (RSA) to the list of known hosts.
    root@192.168.128.225's password: 
    Last login: Mon Apr  9 13:47:49 2018
    [root@CentOS6 ~]# ls
    anaconda-ks.cfg  install.log.syslog  模板  图片  下载  桌面
    install.log      公共的              视频  文档  音乐
    [root@CentOS6 ~]# exit    //退出远程
    logout
    Connection to 192.168.128.224 closed.
    [root@xuexi xf]#

     接着展示CentOS6.8连接CentOS7

    [ root@CentOS6 桌面 ]# ssh 192.168.128.223
    root@192.168.128.223’s password:
    Last login: Sat Sep 29 15:18:58 2018
    [root@xuexi ~]# ls
    Anaconda-ks.cfg  initial-setup-ks.cfg
    [root@xuexi ~]# exit    //退出远程
    登出
    Connection to 192.168.128.223 closed.
    [ root@CentOS6 桌面 ]# 

    (4).添加或修改ssh默认端口

    看我写的这篇文章https://www.cnblogs.com/diantong/p/9877132.html

  • 相关阅读:
    CodeForces 19D Points (线段树+set)
    FZU 2105 Digits Count
    HDU 5618 Jam's problem again(三维偏序,CDQ分治,树状数组,线段树)
    HDU 5634 Rikka with Phi (线段树)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
    Java实现 蓝桥杯 算法提高VIP Substrings(暴力)
  • 原文地址:https://www.cnblogs.com/diantong/p/9713903.html
Copyright © 2020-2023  润新知