Linux命令之ssh

ssh [-l login_name] hostname | [email protected] [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 | [email protected] [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[[email protected] ~]$ ssh [email protected]
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.
[email protected]‘s password:
Last login: Mon Apr  9 13:47:49 2018
[[email protected] ~]# ls
anaconda-ks.cfg  install.log.syslog  模板  图片  下载  桌面
install.log      公共的              视频  文档  音乐

//接着展示CentOS6.8连接CentOS7[ [email protected] 桌面 ]# ssh 192.168.128.223[email protected]’s password:Last login: Sat Sep 29 15:18:58 2018[[email protected] ~]# lsAnaconda-ks.cfg  initial-setup-ks.cfg

原文地址:https://www.cnblogs.com/diantong/p/9713903.html

时间: 2024-10-16 07:49:56

Linux命令之ssh的相关文章

windows利用git实现linux命令和ssh的植入

简介: Git是一款基于linux内核开发的版本控制工具git.我们可以利用它管理我们的项目,也可以用它连接我们的linux服务器.功能之强大,使用之方便.不过它有多好还需要我们自己来亲自体会. 如何植入: 我们下载安装好git之后,到安装目录的bin下,将bin的路径(如:C:\Program Files (x86)\Git\bin)配置到环境变量path下. 如何使用: Ssh连接: 启动命令窗口:ssh 用户名@服务器地址 Linux命令:

linux命令:ssh scp ssh-keygen -t rsa用法

SSH远程连接命令:   用法格式:ssh IPADDR 不指定用户则以当前主机登录系统的用户身份去登录远程主机 ssh [email protected]  通过ssh协议以某用户身份远程登录到某主机 Usage: ssh [email protected]  以root身份通过ssh协议远程登录到192.168.1.100主机 ssh -l USERNAME IPADDR 相当于ssh [email protected]登录模式一样 ssh [email protected] 'COMMON

Linux命令:ssh,scp使用及免密码登录

一.ssh使用: ssh  [email protected] ssh  -l  USERNAME HOST ssh  [email protected] 'COMMAND'  单引号 [[email protected] ~]# ssh 110.119.131.204 #第一次连接需发送主机认证 Theauthenticity of host '110.119.131.204 (110.119.131.204)' can't be established. RSAkey fingerprint

Linux 命令之 scp 命令详解

Linux 命令之 scp 命令详解 一.scp 简介 scp 命令用于不同主机之间复制文件和目录. scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令. scp 想要免密进行复制,需要发送秘钥给相应的节点. scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版. 二.scp 命令语法 scp [-options] [[[email protected]]host1:]source_file [[[email protected]]host

java应用程序远程登录linux并执行其命令(ssh jar包)

http://www.ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包. 然后,就可以写程序了.将上面的jar包导入MyEclipse,下面是一个类的实例代码. package hh; import java.io.BufferedReader;     import java.io.IOException;     import java.io.InputStream;    import java.io.InputStreamReader; imp

Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问

一直想把自己的服务器的 SSH 认证的模式从用户名密码模式转换成 RSA 和 DSA 认证协议,借着OpenSSH 4.2的发布,今天写了一下配置过程并收集了一些关于 RSA 和 DSA 的参考文章. 思路整理:一直没有理解公匙模式下的认证过程,这里总结一下公匙和秘匙的制作和安置方法.以下假设一台服务器Server和一台PC作为例子.首先,并不是在服务器上生成公匙和秘匙.因为很多关于RSA 和 DSA 认证协议的文章都使用Linux服务器作为道具,自然也就使用诸如 ssh-keygen -t r

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_US.UTF-8",xwindow会显示英文界面, LANG="zh_CN.GB18030",xwindow会显示中文界面. 还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n 修改 $HOME/.i18n 文件(vim  $HOME/.i18n)

linux下远程服务器登录命令(SSH)

方法一.使用用户名密码登录 在命令行中输入命令: ssh [email protected]_address -p port 之后系统会提示输入密码,输入后即可登录,如果不添加-p选项,则默认是22端口. 还可以使用-l选项输入用户名: ssh -l username ip_address -p port 方法二.使用密钥登录(不使用密码) 首先生成密钥,在任意目录下输入命令: ssh-keygen -t rsa -P '' -P表示密码,-P '' 表示空密码之后系统会提示输入生成的密钥文件的

jsch ssh服务器调用Linux命令或脚本的小问题

代码如下: public static boolean execshell(String command, String user, String passwd, String host) throws JSchException, IOException { connect(user, passwd, host); BufferedReader reader = null; boolean flag = true; Channel channel = null; String charset