简单使用ssh密钥认证

转自:http://phoenix007.iteye.com/blog/709455


A机器(ssh连接发起端,即客户端):

 

添加一个测试用户aaa

 

[root@A ~]# useradd aaa

 

suaaa

 

[root@A ~]# su - aaa

[aaa@A ~]$

 

ssh-keygen创建rsa密钥对

 

[aaa@A ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/aaa/.ssh/id_rsa):       密钥文件的保存位置

Created directory '/home/aaa/.ssh'.              默认的密钥文件存放目录

Enter passphrase (empty for no passphrase):              密钥文件的保护密码

Enter same passphrase again:

Your identification has been saved in /home/aaa/.ssh/id_rsa.              生成的私钥

Your public key has been saved in /home/aaa/.ssh/id_rsa.pub.    生成的公钥

The key fingerprint is:

81:d7:de:e7:cb:7c:4e:16:d6:76:da:9d:30:25:76:09 aaa@A.test.com

 

[aaa@A ~]$ ll

total 32K

drwx------ 3 aaa aaa 4.0K Sep 17 16:09 .

drwxr-xr-x 4 root root 4.0K Sep 17 16:09 ..

-rw-r--r-- 1 aaa aaa   304 Sep 17 16:09 .bash_logout

-rw-r--r-- 1 aaa aaa   191 Sep 17 16:09 .bash_profile

-rw-r--r-- 1 aaa aaa   124 Sep 17 16:09 .bashrc

-rw-r--r-- 1 aaa aaa   383 Sep 17 16:09 .emacs

drwx------ 2 aaa aaa 4.0K Sep 17 16:09 .ssh              创建出的.ssh目录默认权限为700

 

注意生成的私钥文件的默认权限是rw-------,即600(确保他人不能查看)

 

[aaa@A ~]$ ll .ssh/

total 16K

drwx------ 2 aaa aaa 4.0K Sep 17 16:09 .

drwx------ 3 aaa aaa 4.0K Sep 17 16:09 ..

-rw------- 1 aaa aaa 951 Sep 17 16:09 id_rsa         私钥文件

-rw-r--r-- 1 aaa aaa 231 Sep 17 16:09 id_rsa.pub   公钥文件


B机器(ssh的被连接端,即服务端):

 

添加bbb用户

 

[root@B ~]# useradd bbb

 

subbb

 

[root@B ~]# su - bbb

 

手工在家目录下建立.ssh目录(如果不使用ssh-keygen工具的话)

 

[bbb@B ~]$ mkdir .ssh

 

[bbb@B ~]$ ls -al

total 28

drwx------ 3 bbb bbb 4096 Sep 17 16:52 .

drwxr-xr-x 4 root root 4096 Sep 17 16:52 ..

-rw-r--r-- 1 bbb bbb   304 Sep 17 16:52 .bash_logout

-rw-r--r-- 1 bbb bbb   191 Sep 17 16:52 .bash_profile

-rw-r--r-- 1 bbb bbb   124 Sep 17 16:52 .bashrc

drwxrwxr-x 2 bbb bbb 4096 Sep 17 16:52 .ssh

 

修改.ssh目录的权限为700(非常重要!)

 

[bbb@B ~]$ chmod 700 .ssh

 

[bbb@B ~]$ ls -al

total 28

drwx------ 3 bbb bbb 4096 Sep 17 16:52 .

drwxr-xr-x 4 root root 4096 Sep 17 16:52 ..

-rw-r--r-- 1 bbb bbb   304 Sep 17 16:52 .bash_logout

-rw-r--r-- 1 bbb bbb   191 Sep 17 16:52 .bash_profile

-rw-r--r-- 1 bbb bbb   124 Sep 17 16:52 .bashrc

drwx------ 2 bbb bbb 4096 Sep 17 16:52 .ssh     确认权限为700

 

.ssh目录里创建authorized_keys文件,并将A机器上aaa用户的公钥(id_rsa.pub)内容写入此文件(关键操作!)

 

[bbb@B ~]$ cd .ssh/

 

[bbb@B .ssh]$ vi authorized_keys

 

粘贴aaaid_rsa.pub内容进来

 

修改authorized_keys的权限为400(非常重要!)

 

[bbb@B .ssh]$ chmod 400 authorized_keys

 

[bbb@B .ssh]$ ls -l authorized_keys

-r-------- 1 bbb bbb 231 Sep 17 16:53 authorized_keys    确认权限为400

 

 

 

配置结束。


测试:从A机器上,在aaa用户下,使用bbb帐号登录B机器。

 

 

[aaa@A ~]$ ssh -l bbb xxx.xxx.xxx.xxx

Enter passphrase for key '/home/aaa/.ssh/id_rsa':       会提示输入私钥保护密码(在创建密钥对时输的密码,输入正确后进入系统)

[bbb@B ~]$

 

  

安全的关键点在于如何安全地将id_rsa.pub的内容传递到服务端

 

 

测试完毕,清理系统(删除测试用户帐号及其家目录)

 

 

A机器上,exitroot

 

[root@A ~]# userdel -r aaa

 

B机器上,exitroot

 

[root@B ~]# userdel -r bbb


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值