linux上实现ssh无密码登录

操作步骤(实验环境为centos7虚拟机和服务器一台)

1 软件安装

yum install openssh-server #非root的用户加sudo

2 生成公钥密钥对

ssh-keygen #一直回车,就会在家目录.ssh下出现公钥密钥对(/home/用户名/.ssh)

3 将公钥拷贝到需要连接的主机

ssh-copy-id 'user'@'ip/host'

user是登录目标机使用的用户名,ip/host是目标及的ip或者主机名(主机名需要在/etc/hosts文件中添加,为IP地址和主机名的对应) 。默认使用此命令,还可以使用普通的拷贝命令,此命令拷贝到目标主机后在.ssh目录下,名称为authorized_keys 。如果有多个那么会继续添加到这个文件下。

4 登录

使用ssh user@ip #登录目标主机,无需输入密码

基本原理

主机A连接主机B,主机B发送一个随机数到主机A,主机A收到随机数之后,使用密钥对随机数进行加密,然后将密文发送给主机B,主机B使用公钥进行解密,判断解密数据是否为发送出去的密钥。

注意事项

  • 前期使用ssh的时候一直会报.ssh/config文件权限异常,将其改为0600后运行正常。
  • 注意用户的.ssh文件夹权限为0700 所属的用户为要登录的用户。
  • .ssh/authorized_keys文件的权限为0600 所属的用户为要登录的用户。
  • /home/root(用户家目录,根据实际使用用户来进行修改)文件夹的权限为 700,即 显示的权限应该是 drwx------
  • /home/root/.ssh文件夹的权限也为700
  • /home/root/.ssh/authorized_keys 文件权限为600,即,显示的权限应该是 -rw-------

注意:不要让本用户组和其他组的人员具有写权限即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值