打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ssh-不用密码即可登陆的ssh用户 - 系统管理 - wds

文档名称:ssh-不用密码即可登陆的ssh用户

 

服务器配置:192.168.0.8 redhat- 2.6.9-5.EL   192.168.0.6 redhat- 2.6.18-8.el5

 

文档地址: http://blog.chinaunix.net/u1/40306/

 

首先了解一下加密技术,加密技术通常通过所谓的一对公钥(public keys private keys)进行加密与解密当SSH服务器主机启动后,主机会产生一个公钥,而客户在与服务器进行连接时,可以通过客户自行产生的密钥连接服务器而客户端在与服务器进行连接时,可以通过随机产生的密钥来连接服务器,也可以通过服务器提供的私钥来进行连接,这与连接时候加密版本有关,当数据由Server端传送到client时,这些数据先经过的公钥(public key)进行加密,所以在传输过程中这些数据是加密的,等这些经过公钥(public key)加密后,就可以通过所谓的私钥进行解秘。SSH有两种

版本的连接模式

      SSH version 1

     每台机器都可以使用RSA加密方式产生的一个1024位的RSA Key,这个RSA的加密方法来产生公钥与钥方法,version 1 的整个连接简单加密步骤如下:

1.                  每次SSH daemon(sshd)启动是时都产生一个768位的公钥(或server key)并放在Server

2.                  若有的客户请求连接,server会将这个公钥穿给客户,Client通过对比本身的RSA加密方法来确认这个公钥

3.                  Client接收这个768位的server key 之后 client自己会产生一个256位的私钥(host key,并且以加密方式将server key host key凑成完整的key

并把这传给server

4.                  之后进行连接就以这个1024位的key进行数据的传递

5.                  clinet端的256位是随机产生的,所以你本次连接于下次连接使用的Key是不一样的。

      SSH version 2

version 1 不同的是,version 2 中将不产生server key,所以,当client端连接到Server端是,两者通过Diffie-Hellman的密钥交换产生一个共享key,之后两者通过类似Blowfish的算法进行同步加密操作

 

了解完基本的原理以后我们来做不用密码即可以登陆的ssh用户

       我们可以把client产生的key复制到server中这样,以后client登陆server时,

       由于两者ssh要连接信号传递中就已经对比过key,因此可以直接进入数据传  输  接口而不用密码访问。

1.           首先在client上建立public Keyprivate key,需要使用ssh-keygen命令

     

[root@localhost .ssh]# 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

Enter same passphrase again:                             <---enter

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:           

e8:8a:5e:ae:c7:13:45:d0:81:cd:3f:e6:1e:f8:88:5a root@localhost.localdomain

 

自己添加的注释:

    在客户端,必须使用/root/usename/.ssh/id_rsa 这个文件作为私钥的文件名,否则客户端在进行验证解密的时候不知道获取哪个私钥。

    自己在做的时候试过一下,如果客户端上不是id_rsa这个文件名,无法不需要口令登陆。将文件名改成id_rsa就可以了

                                       

2.                                    然后将Private Key 放在client上的宿主目录,一般放在/root/.ssh/目录中

并修改权限为user可读

3          最后,将Public Key 放在任何一个你想登陆主机server中的某user的宿主目录

 下的.ssh/子目录人证文件中即可。

4                                    现在192.168.0.6client 想连接到192.168.0.8上用ssh-keygen –t  rsa产生key

(-t参数是使用和种密码)这时在我的/root/.ssh/里边产生了三个文件分别是公钥

(id_rsa.pub)与私钥(id_rsa)另外要注意的就是id_rsa文件权限他必须是-rw------否则回不安全,id_rsa.pub就是公钥,把这个放到server目录上去用命令

 

[wds@localhost .ssh]#  sftp id_rsa.pub root@192.168.0.8

[wds@localhost .ssh]#  passwd

[wds@localhost .ssh]#  put  id_rsa.pub

[root@localhost .ssh]#  uploading id_rsa.pub to /root/.ssh/

[root@localhost .ssh]#  exit

然后到服务器上去192.168.0.8

[root@localhost .ssh]# ssh –l   root 192.168.0.8

[root@localhost .ssh]# cd /root/.ssh/

[root@localhost .ssh]#more id_rsa.pub >> authorized_keys 这样就可以了

[root@localhost .ssh]#

返回client192.168.0.6

[root@localhost .ssh]# exit

[root@localhost .ssh]# ssh 192.168.0.8

这样无需要密码直接登陆到服务器上了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ssh无密码登陆
两台机器之间ssh免密码登录
CentOS SSH安装与配置
使用SSH公钥(id
在 Linux 下搭建 Git 服务器
基于公钥认证方式的 OpenSSH Server 自动登录完全手册
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服