SSH免密码登陆的解释和示范

无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。

这句话是什么意思呢?就是,linux的用户登陆一般都是需要密码的,这里无密码登陆说的就是这个密码,这个密码是针对特定的用户即user的,

并不是针对机器的,所以免密码登陆就是某个用户user免密码登陆,免密码的方式就是公钥认证的方式,这个公钥相当于一把钥匙,比如我想用

机器A的用户user_A登陆机器B的user_A,那么在机器A的用户user_A下,利用ssh生成一个密钥:

ssh-keygen -t rsa -P ''
这里ssh- keygen是生成密钥的命令,-t 和-P都是参数,而rsa是密钥的类型,当然还有dsa类型的,这个dsa和rsa只是 一种加密方法

而已。酱紫,就会发现在文件夹.ssh里多了id_rsa和id_rsa.pub。注意,这个.ssh文件夹一般都是隐藏在用户目录下的,路径一般~/.ssh,所以你

可能需要利用命令ls -al 来查看是不是有这么个文件夹,否则你就要mkdir .ssh了。然后把id_rsa.pub追加到authorized_keys中,追加原因是啥呢?

就是虽然你生成了这个密钥,但是你没授权,人家没法儿用,

所以:

cat  id_rsa.pub >> authorized_keys

地方.ssh下就多了authorized_keys这个文件。那这时候能免密码登陆了么?

答案是不行,为什么因为系统还不知道你生成了这么个钥匙,su之后在root下重启ssh服务:

service  sshd  restart
酱紫,你就能ssh user_A了。

接下来,你要免密码登陆B的user_B,那么利用scp(使用前提,就是能在A上ping通B机器)将这个id_rsa.pub传输到你要登陆的机器B的用户user_B下的.ssh

的文件夹中:

那么,你要在user_B的.ssh中再生成user_B的id_rsa.pub然后追加到user_B的authorized_keys去:scp id_rsa.pub user_B@机器B的ip地址:~/.ssh(建议:

这个id_rsa.pub应该和user_B的id_rsa.pub区别开,可以改成usera_rsa.pub)

scp id_rsa.pub user_B@机器B的ip地址:~/.ssh(建议:这个id_rsa.pub应该和user_B的id_rsa.pub区别开,可以改成usera_rsa.pub)
但是这个过程中还需要输入user_B的密码,然后在.ssh下就多了usera_rsa.pub;然后再user_B的.ssh下将usera_rsa.pub追加到authorized_keys中去。

在B机器的root下重启ssh。

scp id_rsa.pub user_B@机器B的ip地址:~/.ssh(建议:这个id_rsa.pub应该和user_B的id_rsa.pub区别开,可以改成usera_rsa.pub)

v然后修改A和B机器上sshd 配置文件内容:

vim   /etc/ssh/sshd_config

找到以下内容,并去掉注释符"#":

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后在机器的用户user_A下ssh  B,然后会显示相应登陆成功信息。

另外需要注意的几个权限(chmod):

用户目录权限为 755 或者 700,不能是其他权限;.ssh目录权限必须为755;

 id_rsa.pub 及authorized_keys权限必须为644;id_rsa权限必须为600 .


scp id_rsa.pub user_B@机器B的ip地址:~/.ssh(建议:这个id_rsa.pub应该和user_B的id_rsa.pub区别开,可以改成usera_rsa.pub)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值