2017-07-21 20:47:37 erygreat 阅读数 531

一、IP/TCP协议的不安全性
TCP/IP协议有以明文传输、无法验证通讯方身份等特点因此是不安全的通讯协议。是可以被窃听的,窃听者可以通过解析传输的内容,或者仿造为通讯方等方式来截取什么篡改通讯信息,因此如果通信过程被截取,那么这个通讯过程就暴露了出来。

使用TCP/IP协议我们无法辨别信息的安全性,因为明文传输的特点导致了,我们传输的信息可以被窃听者解析,甚至篡改。

可能有人会说我们在通讯过程中设置一个密码不就好了嘛,或者用一个加密算法加密一下。当前可以,但是问题是这个密码或者加密算法怎么通知对方呢?因为你在使用TCP/IP协议传输的过程中,信息就有可能已经被窃听者听到了,所以你设密码的事情,窃听者也知道。难道我们要使用面对面通知对方,或者用电话的方式通知?当然没有必要,因此SSH应运而生。

二、什么是SSH协议
SSH是建立在应用层上的安全协议,采用的RSA 算法,RSA算法是一种非对称加密算法。什么是非对称的?

加密与解密使用的密钥不是同一密钥,对中一个对外公开,称为公钥,另一个只有所有者知道,称为私钥。用公钥加密的信息只有私钥才能解开,反之,用私钥加密的信息只有公钥才能解开(签名验签)。

举个例子:A制作了一个盒子,并上了把锁,只有他自己有钥匙。然后他把盒子和锁送给了B,然后B把东西放在盒子里面锁上了,然后还给了A,那么现在A就可以用钥匙打开锁,拿出里面的东西。
作为窃听者的C虽然在A给B盒子和锁的过程中也获得了盒子和锁,但是他不知道钥匙是怎么做的,因此在B给A还盒子的过程中他无法打开盒子。因此不能看里面的东西。

实际上SSH也是这种原理,SSH协议会产生两个密匙,一个公钥,一个私钥。他的公钥只能由他的私钥打开。他将公钥发送给了别人,而私钥自己持有,当进行通讯的时候,对方通讯的信息包含在其持有的公钥之中传递过来,然后由自己的私钥进行解开。查看其中的内容,如果再传递过程中发生了劫持,那么由于劫持方没有私钥,无法解密信息的内容。因此无法查看其信息。

三、什么是SSH工作流程
我们介绍一下他的工作流程

  • 客户端向服务器端发出连接请求
  • 服务器端向客户端发出自己的公钥
  • 客户端使用服务器端的公钥加密通讯密钥然后发给服务器端
  • 如果通讯过程被截获,由于窃听者即使获知公钥和经过公钥加密的内容,但不拥有私钥依然无法解密(RSA算法)
  • 服务器端接收到密文后,用私钥解密,获知通讯密钥

四、在linux上安装SSH
在linux最小化安装等安装模式下,linux是没有ssh命令的,我们需要安装他,可以使用root用户执行下面命令安装并启动SSH

[root@tiny01 ~]# yum  -y install openssh openssh-clients openssh-server
[root@tiny01 ~]# # 启动SSH
[root@tiny01 ~]# /etc/init.d/sshd start
[root@tiny01 ~]# # 设置SSH自启
[root@tiny01 ~]# chkconfig --level 235 sshd on

五、参考资料
RSA ~ 非对称加密算法

2018-10-24 14:55:33 qq_32649581 阅读数 726

Linux ssh命令详解

什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录。        

SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: openssh(提供ssh服务)    openssl(提供加密的程序)

ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接

SSH的工作机制 

      服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。       

SSH的加密技术

加密技术:传输过程,数据加密。             
1.SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码 
2.SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。                    
  SSH2支持RSA和DSA密钥    
        DSA:digital signature Algorithm  数字签名
        RSA:既可以数字签名又可以加密      

SSH知识小结           

   1.SSH是安全的加密协议,用于远程连接Linux服务器                
   2.SSH的默认端口是22,安全协议版本是SSH2                
   3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器                
   4.SSH客户端包含ssh连接命令和远程拷贝scp命令等 

如何防止SSH登录入侵            

    1.密钥登录,更改端口                
    2.牤牛阵法                
    3.监听本地内网IP(ListenAddress 192.168.25.*)

SSH功能大全   

1.登录                   

       ssh -p22 omd@192.168.25.137               

   2.直接执行命令  -->最好全路径                   

       ssh root@192.168.25.137 ls -ltr /backup/data                       

           ==>ssh root@192.168.25.137 /bin/ls -ltr /backup/data               

   3.查看已知主机                    

        cat /root/.ssh/known_hosts

   4.ssh远程执行sudo命令

       ssh -t omd@192.168.25.137 sudo rsync hosts /etc/



   5.scp               

             1.功能   -->远程文件的安全(加密)拷贝                   

                 scp -P22 -r -p /home/omd/h.txt omd@192.168.25.137:/home/omd/               

             2.scp知识小结                   

                 scp是加密远程拷贝,cp为本地拷贝                   

                 可以推送过去,也可以拉过来                   

                 每次都是全量拷贝(效率不高,适合第一次),增量拷贝用rsync



   6.ssh自带的sftp功能               

             1.Window和Linux的传输工具                   

                  wincp   filezip                   

               sftp  -->基于ssh的安全加密传输                   

               samba   

             2.sftp客户端连接                   

                sftp -oPort=22 root@192.168.25.137                   

                put /etc/hosts /tmp                   

                get /etc/hosts /home/omd   

            3.sftp小结:                   

                1.linux下使用命令: sftp -oPort=22 root@x.x.x.x                   

                2.put加客户端本地路径上传                  

                3.get下载服务器端内容到本地                   

                4.远程连接默认连接用户的家目录

ssh常见命令参数

usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

           [-D [bind_address:]port] [-e escape_char] [-F configfile]

           [-i identity_file] [-L [bind_address:]port:host:hostport]

           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]

           [-R [bind_address:]port:host:hostport] [-S ctl_path]

           [-W host:port] [-w local_tun[:remote_tun]]

           [user@]hostname [command]

关于后台ssh服务的相关
 

# 查询openssl软件
    rpm -qa openssh openssl
# 查询sshd进程
    ps -ef | grep ssh
        --> /usr/sbin/sshd
# 查看ssh端口
    netstat -lntup | grep ssh  
    ss | grep ssh                (效果同上,同下,好用)
    netstat -a | grep ssh(记住这个)
    netstat -lnt | grep 22    ==>  查看22端口有没有开/ssh服务有没有开启
    技巧: netstat -lnt | grep ssh | wc -l -->只要大于2个就是ssh服务就是好的
# 查看ssh的秘钥目录
    ll /root/.ssh/known_hosts  # 当前用户家目录的.ssh目录下
# ssh的配置文件
    cat /etc/ssh/sshd_config   
# ssh服务的关闭
    service sshd stop
# ssh服务的开启:
    service sshd start
# ssh服务的重启
    service sshd reload    [停止进程后重启] ==> 推荐
    service sshd restart   [干掉进程后重启] ==> 不推荐
# ssh远程登录
    ssh 192.168.1.100      # 默认利用当前宿主用户的用户名登录
    ssh omd@192.168.1.100  # 利用远程机的用户登录
    ssh omd@192.168.1.100  -o stricthostkeychecking=no # 首次登陆免输yes登录
    ssh omd@192.168.1.100 "ls /home/omd"  # 当前服务器A远程登录服务器B后执行某个命令
    ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh"  # 当前服务器A远程登录服务器B后执行某个脚本

 

image

ssh免密设置

1、进入用户的家目录

[root@localhost ~]# cd /root/.ssh/       【root用户就在root目录下的.ssh目录】

[root@localhost ~]# cd /home/omd/.ssh/   【普通用户就是在家目录下的.ssh目录】


2、根据DSA算法生成私钥和公钥【默认建立在当前用户的家目录】image

[root@localhost .ssh]# ssh-keygen -t dsa     # 一路回车即可
                id_dsa         -->私钥(钥匙) 
                id_dsa.pub     -->公钥(锁)

3.拷贝公钥给目标服务器image

 

[root@localhost .ssh]# ssh-copy-id -i id_dsa.pub omd@192.168.25.110         【 使用ssh登录的默认端口22】
[root@localhost .ssh]# ssh-copy-id -i id_dsa.pub –p 666 omd@192.168.25.120  【使用ssh登录设置的端口666】

4. 查看目标服务器生成的文件

[omd@localhost .ssh]$ ll /home/omd/.ssh/authorized_keys

5. 免密码登录目标服务器

ssh omd@192.168.25.110

 

6. 总结一下钥匙和锁的关系

1.多个钥匙开一把锁
      把id_dsa.pub 复制给各个服务器
 
2.一个钥匙开duobasuo
      把id_dsa 传给各个服务器
      把id_dsa 传给自己 

ssh排查问题


1.判断物理链路是否通  ping 192.168.25.130     线路 | 防火墙 | 是否同一个网的
                    ping   本身是icmp协议
2.判断服务是否正常
telnet 192.168.25.130 22

3.Linux防火墙
service iptables status ==>  /etc/init.d/iptables status  

4.打开ssh的调测进行观察
ssh -vvv omd@192.168.1.100

原文地址:https://www.cnblogs.com/ftl1012/p/ssh.html

2019-08-23 15:22:34 dengjin20104042056 阅读数 929

00. 目录

01. 命令概述

ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。

02. 命令格式

格式:ssh [选项] [参数]

03. 常用选项

-1	强制使用ssh协议版本1
-2	强制使用ssh协议版本2
-4	强制使用IPv4地址
-6	强制使用IPv6地址
-A	开启认证代理连接转发功能
-a	关闭认证代理连接转发功能
-b<IP地址>	使用本机指定的地址作为对位连接的源IP地址
-C	请求压缩所有数据
-F<配置文件>	指定ssh指令的配置文件,默认的配置文件为“/etc/ssh/ssh_config”
-f	后台执行ssh指令
-g	允许远程主机连接本机的转发端口
-i<身份文件>	指定身份文件(即私钥文件)
-l<登录名>	指定连接远程服务器的登录用户名
-N	不执行远程指令
-o<选项>	指定配置选项
-p<端口>	指定远程服务器上的端口
-q	静默模式,所有的警告和诊断信息被禁止输出
-X	开启X11转发功能
-x	关闭X11转发功能
-y	开启信任X11转发功能

04. 参考示例

4.1 登录远程服务器

[deng@localhost ~]$ ssh 172.16.0.76
The authenticity of host '172.16.0.76 (172.16.0.76)' can't be established.
ECDSA key fingerprint is SHA256:YheY5RH3PZ27UMYxdPwhraYfS4bCK/p3+xwdWL0O9WQ.
ECDSA key fingerprint is MD5:27:a1:b7:c7:df:7d:91:04:40:bd:e9:79:bb:98:8f:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.0.76' (ECDSA) to the list of known hosts.
deng@172.16.0.76's password: 
Last login: Thu Aug 22 22:06:22 2019 from 172.16.0.51
[deng@localhost ~]$ 

4.2 指定用户登录远程服务器

[deng@localhost ~]$ ssh -l deng 172.16.0.76
deng@172.16.0.76's password: 
Last login: Thu Aug 22 22:06:33 2019 from 172.16.0.76
[deng@localhost ~]$ 

4.3 查看远程服务器分区列表

[deng@localhost ~]$ ssh -l root 172.16.0.76 /sbin/fdisk -l
root@172.16.0.76's password: 

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000cc727

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris
/dev/sda3         8800256   209715199   100457472   83  Linux
[deng@localhost ~]$ 

4.4 强制使用ssh协议版本2

[deng@localhost ~]$ ssh -2 -l root 172.16.0.76
root@172.16.0.76's password: 
Last login: Thu Aug 22 21:42:57 2019
[root@localhost ~]# 

4.5 开启认证代理连接转发功能

[root@localhost ~]# ssh -A -l root 172.16.0.76
The authenticity of host '172.16.0.76 (172.16.0.76)' can't be established.
ECDSA key fingerprint is SHA256:YheY5RH3PZ27UMYxdPwhraYfS4bCK/p3+xwdWL0O9WQ.
ECDSA key fingerprint is MD5:27:a1:b7:c7:df:7d:91:04:40:bd:e9:79:bb:98:8f:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.0.76' (ECDSA) to the list of known hosts.
root@172.16.0.76's password: 
Last login: Thu Aug 22 22:10:56 2019 from 172.16.0.76
[root@localhost ~]# 

4.6 关闭认证代理连接转发功能

[root@localhost ~]# ssh -a -l root 172.16.0.76 
root@172.16.0.76's password: 
Last login: Thu Aug 22 22:11:31 2019 from 172.16.0.76
[root@localhost ~]# 

4.7 指定用户名登录(二)

[root@localhost ~]# ssh root@172.16.0.76
root@172.16.0.76's password: 
Last login: Thu Aug 22 22:12:26 2019 from 172.16.0.76
[root@localhost ~]# 

4.8 指定端口登录远程服务器

[root@localhost ~]# ssh -p 22 root@172.16.0.76  
root@172.16.0.76's password: 
Last login: Thu Aug 22 22:13:31 2019 from 172.16.0.76
[root@localhost ~]# 

4.9 通过代理登录

[root@localhost ~]# ssh -D 7576 root@172.16.0.76
root@172.16.0.76's password: 
Last failed login: Thu Aug 22 22:15:00 CST 2019 from 172.16.0.76 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Thu Aug 22 22:14:03 2019 from 172.16.0.76
[root@localhost ~]# 

4.10 执行远程指令

[root@localhost ~]# ssh deng@172.16.0.76 date
deng@172.16.0.76's password: 
2019年 08月 22日 星期四 22:15:56 CST
[root@localhost ~]# 

4.11 在远程主机运行一个图形界面的程序

[root@localhost ~]# ssh -X deng@172.16.0.76
deng@172.16.0.76's password: 

4.12 绑定源地址

[root@localhost ~]# ssh -b 172.16.0.76 deng@172.16.0.76
deng@172.16.0.76's password: 
Last login: Thu Aug 22 22:20:55 2019 from 172.16.0.76
[deng@localhost ~]$ 

4.13 对所有数据请求压缩

[deng@localhost ~]$ ssh -C deng@172.16.0.76
deng@172.16.0.76's password: 
Last login: Thu Aug 22 22:22:00 2019 from 172.16.0.76
[deng@localhost ~]$ ls

4.14 打开调试模式

[deng@localhost ~]$ ssh -v deng@172.16.0.76
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 172.16.0.76 [172.16.0.76] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/deng/.ssh/id_rsa type -1

4.15 静默模式,所有的警告和诊断信息被禁止输出

[deng@localhost ~]$ ssh -q deng@172.16.0.76
deng@172.16.0.76's password: 
Last failed login: Thu Aug 22 22:23:52 CST 2019 from 172.16.0.76 on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Thu Aug 22 22:22:34 2019 from 172.16.0.76
[deng@localhost ~]$ 

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

2018-12-05 09:53:46 qq_38611252 阅读数 277

1.查看ssh服务的状态

输入以下命令:

sudo service sshd status

如果出现

Loaded: error (Reason: No such file or directory)

提示的话,说名没有安装ssh服务,按照第二步:安装ssh服务。

如果出现

Active: inactive (dead)

说明已经安装了ssh服务,但是没有开启。按照第三步:开启ssh服务。

2安装ssh服务 安装ssh命令:

如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum install sshd

或者

sudo yum install openssh-server(由osc网友 火耳提供)

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get install sshd

或者

sudo apt-get install openssh-server(由osc网友 火耳提供)

然后按照提示,安装就好了。

3.开启ssh服务

在终端敲入以下命令:

sudo service sshd start

执行完命令后,用第一步:查看ssh服务状态的命令,如果出现以下提示

Active: active (running) since Sun 2013-04-07 13:43:11 CST; 15s ago

说明你的ssh服务已经启动了。如果失败来的话,那试着卸载一下(看第六步:卸载ssh服务)再安装(第二部:安装ssh服务)。

4.使用ssh服务

使用ssh服务跟使用ftp服务一样,推荐安装putty(一款远程登陆工具)来登陆本地主机。安装命令与第二步:安装ssh服务相同,只是把sshd换成putty即可。

安装putty完成后,使用以下命令远程登陆:

putty ip/hostname

其中ip/hostname为你的ssh主机的ip地址或者主机名

比如我的ip地址为192.168.1.103,那么我可以使用 putty 192.168.1.103来登陆我的主机。

5.卸载ssh服务

如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum remove sshd

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get –purge remove sshd

然后就会提示卸载完成。

2014-05-15 19:25:29 coffeehot 阅读数 25

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安装ssh

阅读数 3379

Linux ssh 安装 及 常用命令

博文 来自: chenhuachong
没有更多推荐了,返回首页