Linux ssh的使用

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 [email protected] password: remotehost.example.com$

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


1

2

3

localhost$ ssh -l jsmith remotehost.example.com

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

时间: 2024-10-10 16:49:33

Linux ssh的使用的相关文章

Linux ssh无密码访问 利用密钥对

Linux ssh无密码访问 #如果密钥密码回车两次,密钥密码为空,采用ssh登录就不需要输入密钥密码,ssh [email protected]回车即可进入9.80,做到第二步即可实现目的.如果密钥自己设的有密码,想实现无密码登录可以看第三步. 服务器 s 客户端 c   s用的192.168.9.22   c用的192.168.9.80 1.生成密钥对,简便起见,在c上来生成,以下操作我用的都是root,你也可以用普通用户 [[email protected] ~]# ssh-keygen

windows 和 linux ssh互连

从windows连接到linux: linux开启sshd服务即可,主要是windows的配置如下: 1.使用软件,putty可以直接使用 2.使用cmd控制台连接linux,安装SSH Secure Shell这个软件,在安装目录可以看到有个ssh2.exe的软件,在这个目录 ssh2 [email protected]即可 从linux(或者windows)连接windows: linux ssh都会把,主要还是windows的配置: 安装服务器软件,我用的是freesshd,注意安装最后一

修改Linux ssh登录前后的欢迎信息

Linux可以设置登录前后的欢迎信息,虽然没什么实际用处,但这次在实际工作中遇到了,我就整理一下与大家分享 在登录系统输入用户名之前,可以看到上方有WELCOME......之类的信息,这里会显示LINUX发行版本名称,内核版本号,日期,机器信息等等信息,要设置的话,首先打开/etc/issue文件,可以看到里面是这样一段"Welcome to <LINUX 发行版本名称>-kernel 后接各项参数\" 后接的参数的各项说明: \r 显示KERNEL内核版本号: \l 显

linux ssh搭建

最近有个小项目用到了linux,需要远程登录,测试了下vncserver,搞了大半天愣是木有成功,后来换了ssh.找到一篇很不错的博文,亲测通过,链接如下: http://zhoualine.iteye.com/blog/1750569 发出来分享,木有找到转载连接,所以这样啦.感谢原作者. linux ssh搭建,布布扣,bubuko.com

linux ssh 创建双向密钥

Linux ssh 安全登陆 创建ssh密钥 [[email protected] ~]# ssh-keygen -t rsa #创建密钥 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): # 密钥位置 Enter passphrase (empty for no passphrase): #输入密钥,可以为空 Enter same passphrase

记录一则Linux SSH的互信配置过程

需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置root用户的等价性1.各节点ssh-keygen生成RSA密钥和公钥 ? 1 ssh-keygen -q -t rsa  -N "" -f  ~/.ssh/id_rsa 2.将所有的公钥文件汇总到一个总的授权key文件中在10执行汇总: ? 1 2 3 4 ssh 192.168.10.10 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Linux ssh 安全配置

Linux ssh 安全登陆 创建ssh密钥 [[email protected] ~]# ssh-keygen -t rsa #创建密钥 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): # 密钥位置 Enter passphrase (empty for no passphrase): #输入密钥,可以为空 Enter same passphrase

Linux SSH端口转发

SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道.一直是远程端口转发.SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发. 本地端口转发 假定有三台主机A.B.C.由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通.但是B却可以和A.C连通.这时候就可以用本地端口转发来实现A和C通过B来连通. A  192.168.7.27 B  192.168.6.19 C  192.168.30.68 6网段和7网段.30网段都相通,但是7网段和30网段不

Linux SSh scp使用【远程文件/目录的传输】

一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的. 一.Linux ssh scp 的使用方法 1:将本机文件复制到远程服务器上 #scp /home/test/item.txt [email prote

Linux - ssh 连接问题

SSH 连接方式 ssh -p 22 [email protected] # 从linux ssh登录另一台linux ssh -p 22 [email protected] CMD # 利用ssh操作远程主机 scp -P 22 文件 [email protected]:/目录 # 把本地文件拷贝到远程主机 sshpass -p '密码' ssh -n [email protected]$IP "echo hello" # 指定密码远程操作 ssh -o StrictHostKeyC