linux ssh免密码登录其他主机

现在A主机要通过ssh连接到B主机,需要在A主机上生成一个ssh公钥,然后写入到B主机的authorized_keys文件即可(默认主机用户都为root)。

1 在root账户下生成公钥 
ssh-keygen


2 将生成的公钥先写入A主机的authorized_keys文件 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3 将A主机下的authorized_keys发送到B主机的 root账户的 ~/.ssh/ 目录下 
这时还没设置免密码登录,所以发送时需要输入B主机root账户的密码,我用的虚拟机装完系统后还没设置ubuntu的root账户初始密码,所以需要先设置一下。

  • (1) 在B主机 输入 sudo passwd ,之后输入要设置的密码
  • (2) 之后A主机还是不能通过ssh输入密码的方式连接到B主机的root账户,因为ssh默认不能连接到root账户,需要更改一下B主机ssh的配置,修改 /etc/ssh/sshd_config 文件。 
    使用vi或gedit打开后,找到 PermitRootLogin prohibit-password ,这里默认的是禁止密码登录(即禁止登录?) ,其修改为yes,即 PermitRootLogin yes ,然后执行service sshd restart重启ssh服务 。 
    修改完成后,重启B主机的ssh服务。之后测试一下,A主机能否连接到B主机,ssh root@ip,然后输入密码,发现终于可以连上了。

  • (3) 将A主机中的公钥,发送到B主机,先在B主机的root账户下执行 
    ssh-keygen ,创建一个 .ssh 目录 
    之后在A主机的root账户下执行 
    scp ~/.ssh/authorized_keys root@ip:~/.ssh/ 
    注意这里使用scp命令发送文件到目录需要先创建一个目录,或者将A主机的authorized_keys直接发送到 B主机的~/.ssh/authorized_keys 文件中 
    之后修改B主机接受到的authorized_keys的权限,在B主机中执行 
    chmod 600 ~/.ssh/authorized_keys

    到这终于实现了使用ssh无密码访问root账户。

    注:若用户不是root用户 则不需要修改sshd_config文件 就可以实现无密码登录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值