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的详细使用方法,希望能够对你有所帮助。

转载于:https://blog.51cto.com/lucifer119/1360298

Linux下SSH命令使用方法详解相关推荐

  1. Linux 下 TC 命令原理及详解<一>

    文章目录 1 前言 2 相关概念 3 使用TC 4 创建HTB队列 5 为根队列创建相应的类别 6 为各个类别设置过滤器 7 复杂的实例 Linux 下 TC 命令原理及详解<一> Lin ...

  2. Linux下fdisk命令操作磁盘详解--添加、删除、转换分区

    linux下fdisk命令操作磁盘详解--添加.删除.转换分区等 fdisk 操作硬盘的命令格式如下: [root@localhost beinan]# fdisk 设备 比如我们通过 fdisk - ...

  3. linux命令引用,Linux下nl命令的用法详解

    Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文 ...

  4. Linux 下 TC 命令原理及详解

    众所周知,在互联网诞生之初都是各个高校和科研机构相互通讯,并没有网络流量控制方面的考虑和设计,IP协议的原则是尽可能好地为所有数据流服务,不同的数据流之间是平等的.然而多年的实践表明,这种原则并不是最 ...

  5. Linux 下 top 命令的使用详解

    前言: top 指令用于查看当前CPU负载, 内存占用. 或让其一直打印到固定文件内, 用于以后查看 版本: 本次 top 的版本为version 3.3.10, 系统版本为centos 7.4 使用 ...

  6. linux下各种软件安装方法详解

    linux 软件安装的七种方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  7. linux下grep命令用法,全面详解linux下grep命令的用法

    学linux系统,grep这个命令是必须要掌握的.grep命令是用来查找文件或标准输出中匹配的行,它的强大之处在于它支持正则表达式.日常工作中,grep绝对是用的最多的命令之一. 注:本文只介绍gre ...

  8. linux part用法,Linux下partprobe命令的使用详解

    linux上,在安装系统之后,可否创建分区并且在不重新启动机器的情况下系统能够识别这些分区? 解决方法: 你可以使用一个叫做partprobe的工具.它包含在parted的rpm软件包中.在Red H ...

  9. Linux 下 TC 命令原理及详解<四>

    tc 由 Alexey N. Kuznetsov 编写,从 Linux 2.2 版开始并入 Linux 内核. Linux 从 kernel 2.1.105 开始支持 QoS,不过,需要重新编译内核. ...

最新文章

  1. 【EventBus】EventBus 源码解析 ( 注册订阅者总结 | EventBus 注册订阅者流程梳理 )
  2. NET 2.0中WinForm自定义的程序配置存放到哪里去了
  3. vue 点击事件传递多个参数_vue传事件参数
  4. idea学生认证用了一年后过期了怎么办?
  5. 现代软件工程讲义 4 团队和流程
  6. 互联网晚报 | 3月21日 星期一 |​ 科大讯飞5亿成立科技新公司;新能源车企称采购宁德时代电池成本上涨两万元...
  7. spark视频-Spark on Yarn
  8. 输入一批整数,输出最大最小值,输入0结束
  9. [bzoj1566][NOI2009]管道取珠
  10. oracle保留两位小数解决方案
  11. SLIC 超像素分割(C++)
  12. trajan算法求lca 超级详细配图讲解
  13. EXCEL表格-excel如何换行、批量换行
  14. 推荐系统 | 基础推荐模型 | GBDT+LR模型 | Python实现
  15. Android_聊天_表情
  16. 人证核验、人证比对系统应用行业如何判别
  17. MySql小数点处理
  18. 数据加密与安全专题《mbedtls工具篇,实用教程1@mbedtls简介和安装教程》
  19. c语言字母字符参与运算,c语言字符串可以参加运算吗?
  20. ppt怎么转换为pdf

热门文章

  1. 这些常识一直在损害健康
  2. 《Pro SQL Server Internals》部分翻译(P155-165)
  3. NoSQL and Redis
  4. oracle体系结构-内存管理
  5. 多线程:为什么不能override start方法
  6. eclipse+maven+jetty环境下修改了文件需要重启才能修改成功
  7. querySelector querySelectorAll
  8. C# 利用SharpPcap实现网络包捕获嗅探
  9. CGI,FastCGI与PHP
  10. java锁的种类以及辨析(转载)