RHCE-ssh登录远程服务器



ssh登录远程服务器:

[-l login_name]

Ssh –l root remotehost

 

修改端口号:

[-p port]

Ssh –p portnumber    remoteuser@remotehost

 

登录远程服务器并执行命令并返回到本地:

[user@]hostname [command]

Ssh remoteuser@remotehost  hostname

 

 

 

公钥加密(client),私钥解密(server  RSA

 

Ssh 是自签名证书  #自己生成公钥和私钥

 

 

证书文件位置:

Server:

私钥 /etc/ssh/ssh_host_key

公钥 /etc/ssh/ssh_host_key.pub

 

Client

~/.ssh/know_hosts           #这个文件是server给的公钥

 

server上:

[root@server0 ssh]# pwd

/etc/ssh

[root@server0 ssh]# ll ssh_host*

-rw-r-----.1 root ssh_keys  227 Jul 11 2014 ssh_host_ecdsa_key     #私钥

-rw-r--r--. 1 root root      162 Jul 11  2014 ssh_host_ecdsa_key.pub #公钥

-rw-r-----.1 root ssh_keys 1675 Jul 11  2014 ssh_host_rsa_key                   #私钥

-rw-r--r--. 1 root root      382 Jul 11  2014 ssh_host_rsa_key.pub  #公钥

 

client上:

[root@server0 .ssh]# cat known_hosts

172.25.0.10 ecdsa-sha2-nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHX+o9KAnlfw2dE7CsmM4hqfv1udM79a5NWC2BuWlmfKSwfYLptPQMJF8bnqaz0EjDlxCxRu/aito+GphPLzp/k=

 

基于公钥的身份验证:客户端不需要输入密码就可以连接到服务端
client

生成公钥私钥对:

~/.ssh/id_rsa

~/.ssh/id_rsa.pub

 

原理:

client发送公钥给server端:~/.ssh/id_rsa.pub

 

服务端

client的公钥+随机数   发送给client

 

 

客户端:

使用私钥解密server端发过来的数据

 

使用私钥加密服务器发过来的随机数(签名),发送给server

 

 

 

服务端:

client的公钥来解密client发过来随机数,解出来的随机数如果跟server端发过去的随机数一样,则验证了发过来的数据是client发来的,完成clientserver端的身份验证

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

配置过程:

client上面:

生成密钥对:

[root@desktop0 ~]# ssh-keygen         #生成密钥对

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 again:

Your identification has been saved in/root/.ssh/id_rsa.

Your public key has been saved in/root/.ssh/id_rsa.pub.

The key fingerprint is:

18:55:4e:f2:71:a9:b9:23:02:83:3e:79:fb:ec:f7:dfroot@desktop0.example.com

The key's randomart image is:

+--[ RSA 2048]----+

|       o.+ ..   |

|      . = o.    |

|  .  .   oo    |

|  .o  o o      |

| . . o. S .     |

|  +. . . o      |

|   o. . . .     |

|   ..  .    .   |

|    o+. .... E  |

 

[root@desktop0 .ssh]#  pwd

/root/.ssh

[root@desktop0 .ssh]# ll

total 16

-rw-------. 1 root root 1243 Aug 13  2015 authorized_keys

-rw-------.1 root root 1675 Jan 20 17:53 id_rsa     #生成的私钥

-rw-r--r--.1 root root  407 Jan 20 17:53 id_rsa.pub   #生成的公钥

-rw-r--r--. 1 root root  173 Jan 20 17:41 known_hosts

 

client的公钥传给server:

[root@desktop0 .ssh]# ssh-copy-id root@172.25.0.11

/usr/bin/ssh-copy-id: INFO: attempting tolog in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remainto be installed -- if you are prompted now it is to install the new keys

root@172.25.0.11's password:

 

Number of key(s) added: 1

 

Now try logging into the machine,with:   "ssh 'root@172.25.0.11'"

and check to make sure that only the key(s)you wanted were added.

 

查看server端传过来的client的公钥:

[root@server0 .ssh]# pwd

/root/.ssh

[root@server0 .ssh]# ll

total 4

-rw-------. 1 root root 407 Jan 20 17:56authorized_keys

 

现在在client可以直接登录到server

[root@desktop0.ssh]# ssh root@172.25.0.11

Last login: Sat Jan 20 17:58:03 2018 fromdesktop0.example.com

[root@server0 ~]#

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

SSH登录系统,条件验证顺序:先验证公钥,再验证密码

 

SSH即可以做为服务端,也可能做为客户端:

ssh作为服务端的配置文件

Vim /etc/ssh/config

禁止root用户使用SSH登录:

PermitRootLogin no

 

允许root连接,只能使用密钥连接,不能使用密码连接:

PermitRootLogin  without-password

 

是否允许所有用户使用密码验证:

PasswordAuthentication no   #只能使用密钥认证,不能使用密码验证

 

 

Ssh作为客户端的配置文件:

[root@server0 ssh]# pwd

/etc/ssh

[root@server0 ssh]# ll ssh_config

-rw-r--r--. 1 root root 2123 Mar 20  2014 ssh_config

 

[root@server0 ssh]# ll

total 268

-rw-------. 1 root root     242153 Mar 20  2014 moduli

-rw-r--r--. 1 root root       2123 Mar 20  2014 ssh_config       #ssh 做为客户端的配置文件

-rw-r--r--. 1 root root       4439 Jul 11  2014 sshd_config        #ssh 做为服务端的配置文件

-rw-r-----. 1 root ssh_keys    227 Jul 11 2014 ssh_host_ecdsa_key

-rw-r--r--. 1 root root        162 Jul 11  2014 ssh_host_ecdsa_key.pub

-rw-r-----. 1 root ssh_keys   1675 Jul 11 2014 ssh_host_rsa_key

-rw-r--r--. 1 root root        382 Jul 11  2014 ssh_host_rsa_key.pub

 

Vim /etc/ssh/sshd_config配置文件详解:

#Port 22                     #端口号

#Protocol 2                #协议号

AuthorizedKeysFile .ssh/authorized_keys  #存放连接过来的客户端的公钥

PasswordAuthentication yes          #是否允许使用密码验证

 

UseDNS no #禁止解析DNS

 

#PermitRootLogin yes  #允许root用户登录

 

PasswordAuthentication yes   # 允许通过密码进行登录验证

 

 

[root@desktop0 ssh]# pwd

/etc/ssh

[root@desktop0 ssh]# cat ssh_config

#   StrictHostKeyChecking ask    #第一次连接远程服务器时,是否要验证(yes/no)选项

 

SSH代理

  A  -> C

 A  ->  B

  B不能连接C

 

实现A连接到BB可以直接连接C

 

ssh-agent bash

 

 

ssh-add

 

 

ssh –A root@b

 

ssh-add –l

 

 <

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS