`

Linux下SSH命令使用方法详解

阅读更多

1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统

1、查看SSH客户端版本

有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH:

$ ssh -V 
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

下面的例子表明该系统正在使用SSH2:

$ ssh -V 
ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu

2、用SSH登录到远程主机

当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入"yes"后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。示例如下:

1
2
3
4
5
6
7
8
localhost$ ssh -l jsmith remotehost.example.com
Host key not found from database.
Key fingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum
You can get a public key‘s fingerprint by running % ssh-keygen -F publickey.pub on the keyfile.
Are you sure you want to continue connecting (yes/no)? Yes
Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com,
accepted by jsmith Mon May 26 2008 16:06:50 -0700 jsmith@remotehost.example.com password: remotehost.example.com$

因为远程主机的密钥已经加入到ssh客户端的已知主机列表中,当你第二次登陆远程主机时,只需要你输入远程主机的登录密码即可。

1
2
3
localhost$ ssh -l jsmith remotehost.example.com
jsmith@remotehost.example.com password:
remotehost.example.com$

由于各种原因,可能在你第一次登陆远程主机后,该主机的密钥发生改变,你将会看到一些警告信息。出现这种情况,可能有两个原因:

o 系统管理员在远程主机上升级或者重新安装了SSH服务器 
o 有人在进行一些恶意行为,等等。

在你输入“yes”之前呢,最佳的选择或许是联系你的系统管理员来分析为什么会出现主机验证码改变的信息,核对主机验证码是否正确。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
localhost$ ssh -l jsmith remotehost.example.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the- middle attack)!
It is also possible that the host key has just been changed.
Please contact your system administrator.
Add correct host key to ―/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub‖ to get rid of this message.
Received server key's fingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum
You can get a public key's fingerprint by running % ssh-keygen -F publickey.pub on the keyfile.
Agent forwarding is disabled to avoid attacks by corrupted servers.
Are you sure you want to continue connecting (yes/no)? yes
Do you want to change the host key on disk (yes/no)? yes
Agent forwarding re-enabled.
Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com,
accepted by jsmith Mon May 26 2008 16:17:31 -0700 jsmith @remotehost.example.com's password: remotehost$

3、调试SSH客户端会话

当ssh连接出现问题时,我们需要通过查看调试信息来定位这些错误。一般来讲使用v选项(注意:是小写的v),即可查看调试信息。

没有SSH客户端调试信息的例子:

1
2
localhost$ ssh -l jsmith remotehost.example.com
warning: Connecting to remotehost.example.com failed: No address associated to the name

包含ssh调试信息的例子:

1
2
3
4
5
6
7
8
9
10
locaclhost$ ssh -v -l jsmith remotehost.example.com
debug: SshConfig/sshconfig.c:2838/ssh2_parse_config_ext:
Metaconfig parsing stopped at line 3.
debug: SshConfig/sshconfig.c:637/ssh_config_set_param_verbose:
Setting variable 嘠攀爀戀漀猀攀Mode' to FALSE'.
debug: SshConfig/sshconfig.c:3130/ssh_config_read_file_ext: Read 17 params from config file.
debug: Ssh2/ssh2.c:1707/main: User config file not found, using defaults. (Looked for /home/jsmith/.ssh2/ssh2_config')
debug: Connecting to remotehost.example.com, port 22… (SOCKS not used)
warning: Connecting to remotehost.example.com failed: No address associated to the name
[注:很多命令中,v选项对应的英文是 verbose,也就是详细的信息的意思。]

当你使用ssh从本机登录到远程主机时,你可能希望切换到本地做一些操作,然后再重新回到远程主机。这个时候,你不需要中断ssh连接,只需要按照第4点的步骤操作即可:

4、用SSH退出符切换SSH会话

这个技巧非常实用。尤其是远程登陆到一台主机A,然后从A登陆到B,如果希望在A上做一些操作,还得再开一个终端,很是麻烦。

当你使用ssh从本机登录到远程主机时,你可能希望切换到本地做一些操作,然后再重新回到远程主机。这个时候,你不需要中断ssh连接,只需要按照如下步骤操作即可:

当你已经登录到了远程主机时,你可能想要回到本地主机进行一些操作,然后又继续回到远程主机。在这种情况下,没有必要断开远程主机的会话,你可以用下面的办法来完成:

1.登入远程主机:

localhost$ ssh -l jsmith remotehost

2.已连接远程主机:

remotehost$

3.要临时回到本地主机,输入退出符号:“~”与“Control-Z”组合。

当你输入“~”你不会立即在屏幕上看到,当你按下<Control-Z>并且按回车之后才一起显示。如下,在远程主机中以此输入“~<Control-Z>”

remotehost$ ~^Z 
[1]+ Stopped ssh -l jsmith remotehost 
localhost$

4.现在你已经退回到了本地主机,ssh远程客户端会话就在UNIX后台中运行,你可以向下面那样查看它:

localhost$ jobs 
[1]+ Stopped ssh -l jsmith remotehost

5. 你可以将后台运行的ssh会话进程切换到前台,重新回到远程主机,而无需输入密码

localhost$ fg %1 
ssh -l jsmith remotehost 
remotehost$

5、用SSH退出字符会话,显示信息

要想取得一些关于当前会话有用的信息,可以按以下方式完成。不过这只能在SSH 2 客户端上使用。

登录到远程服务器

localhost$ ssh -l jsmith remotehost

如下所示,在远程服务器上,输入ssh退出字符~并输入s。这样会显示出很多有关当前ssh连接的有用信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
remotehost$ [注:当你在命令行上输入~s时,它是不可见的.]
remote host: remotehost
local host: localhost
remote version: SSH-1.99-OpenSSH_3.9p1
local version: SSH-2.0-3.2.9.1 SSH Secure Shell (non-commercial)
compressed bytes in: 1506
uncompressed bytes in: 1622
compressed bytes out: 4997
uncompressed bytes out: 5118
packets in: 15
packets out: 24
rekeys: 0
Algorithms:
Chosen key exchange algorithm: diffie-hellman-group1-sha1
Chosen host key algorithm: ssh-dss
Common host key algorithms: ssh-dss,ssh-rsa
Algorithms client to server:
Cipher: aes128-cbc
MAC: hmac-sha1
Compression: zlib
Algorithms server to client:
Cipher: aes128-cbc MAC: hmac-sha1
Compression: zlib
localhost$

以上就是Linux下SSH的详细使用方法,希望能够对你有所帮助。

 

转自 http://os.51cto.com/art/201205/335402.htm

分享到:
评论

相关推荐

    Linux使用scp命令进行文件远程拷贝详解

    scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文件和目录。 使用语法: scp [参数] [源路径] @IP:/目标路径 scp 参数如下: -1:...

    linux下ssh安装与scp命令使用详解

    主要介绍了linux下ssh安装与scp命令使用详解的相关资料,需要的朋友可以参考下

    bash脚本中将密码传递给ssh/scp命令方法详解

    可以使用以下命令在系统上安装它。 在Debian上: $ sudo apt install sshpass 在CentOS上: $ yum –enablerepo = epel -y install sshpass 使用SSHPASS sshspass使用sshspass环境变量存储用户密码。需要首先...

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集 .rar

    使用ssh命令(linux主机需要开启ssh服务):ssh &lt;用户名&gt;@&lt;主机IP&gt;,例:ssh root@101.32.155.100 之后会提示输入用户密码,正确输入密码即可进入。 一、日常使用命令 1、开关机命令 shutdown -h now:现在关机 ...

    Linux下SSH免密码登录配置详解

    假设有 A、 B 两台 Linux 服务器,我们希望能够从其中一台服务器通过 SSH 免密码登录到另一台服务器。 两台服务器的信息如下:  主机名 IP地址 免密码登录用户名 server1 192.168.12.11 guest1 server2 192...

    Linux配置SSH和Xshell连接服务器的教程(图解)

    SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑 上是否安装了客户端和服务器。如果只是想远程登陆别的机器只需要安装客户端 (Ubuntu默认安装了客户端),如果要本机的SSH服务就...

    Linux scp命令用法详解

    scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 语法 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i ...

    Linux下alias命令的用法详解

    我们可以使用该命令可以将一些较长的命令进行简化. 用alias 短命令=’原命令 选项’ alias 138ssh= 'ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138' 这下子就可以直接使用138ssh 来代替原来ssh -i ~/.ssh/138....

    linux常用命令大全及详解.zip

    Linux操作系统是一种开源的、免费的操作系统,提供了许多强大的命令和工具来管理和控制系统。以下是一些常用的Linux命令: ls:列出当前目录下的文件和子目录。 cd:切换到指定目录。 pwd:显示当前所在目录的路径...

    详解Linux下你所不知道的7个SSH命令用法

    主要介绍了Linux SSH命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Linux常用命令last的使用方法详解

    本文主要给大家介绍了关于Linux常用命令last用法的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍吧。 命令简介: 该命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:show ...

    Ruby中执行Linux shell命令的六种方法详解

    主要介绍了Ruby中执行Linux shell命令的六种方法详解,这些方法包括exec、system、反引号、IO、Open3、Open4等命令,需要的朋友可以参考下

    详解Linux系统中设置SFTP服务用户目录权限的方法

    在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 方法如下 ...

    详解SSH 远程执行任务的方法

    SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。 ...

    linux ssh 使用深度解析(key登录详解)

    SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议。SSH的主要目的是用来取代传统的telnet和R系列命令(rlogin,...

    linux中scp命令和scp命令用法大全

    linux之cp/scp命令+scp命令详解  名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source… directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计

    基于使用paramiko执行远程linux主机命令(详解)

    paramiko是python的SSH库,可用来连接远程linux主机,然后执行linux命令或者通过SFTP传输文件。 关于使用paramiko执行远程主机命令可以找到很多参考资料了,本文在此基础上做一些封装,便于扩展与编写脚本。 下面...

    Linux lastb命令用法详解

    Linux lastb命令 Linux lastb命令用于列出登入系统失败的用户相关信息。 单独执行lastb指令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容 记录的登入失败的用户名单,全部显示出来。 语法lastb ...

Global site tag (gtag.js) - Google Analytics