如何实现 ssh 无密码登录

作者:佚名 上传时间:2019-05-03 版权申诉

如何实现 ssh 无密码登录

假设你是hostA上的一个用户"aliceA",想以用户“aliceB”的身份ssh到hostB上,但又不想输入密码。那么,你可以参考这篇教程实现ssh无密码登录。

首先,你需要以用户“aliceA”的身份登录到hostA上。

然后,使用ssh-keygen生成一对rsa公私钥,生成的密钥对会存放在~/.ssh目录下。


  
  1. $ ssh - keygen - t rsa

接下来,使用下面的命令在目标主机hostB上的aliceB用户目录下创建~/.ssh目录。如果在aliceB@hostB上已经存在.ssh目录,这一步会被略过。


  
  1. $ ssh aliceB@hostB mkdir - p . ssh

最后,将hostA上用户“aliceA”的公钥拷贝到aliceB@hostB上,来实现无密码ssh。


  
  1. $ cat . ssh / id_rsa . pub | ssh aliceB@hostB 'cat >> .ssh/authorized_keys'

自此以后,从aliceA@hostA上ssh到aliceB@hostB上再也不需要输入密码。(LCTT 译注:上述的创建目录并复制的操作也可以通过一个 ssh-copy-id 命令一步完成: ssh-copy-id -i ~/.ssh/id_rsa.pub aliceB@hostB

疑难解答

  1. 即使在密钥认证生效后,你可能仍然需要输入SSH密码。如果遇到这种情况,请检查系统日志(如/var/log/secure)以查看是否出现下面的异常。

    Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys

    在这种情况下,密钥认证的失败是由于~/.ssh/authorized_keys文件的权限或拥有者不正确。一般情况,如果这个文件对除了你之外的所有用户都可读,就会出现这个错误。用下面的方式改变文件的权限以修正错误。

    
        
    1. $ chmod 700 ~ /.ssh/ authorized_keys

原文发布时间:2015-05-14

本文来自云栖合作伙伴“linux中国”

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
ssh
如何实现 ssh 无密码登录 假设你是hostA上的一个用户"aliceA",想以用户“aliceB”的身份ssh到hostB上,但又不想输入密码。那么,你可以参考这篇教
Ubuntu 16.04SSH/免/自动ssh-keygen/ssh-copy-id)
ssh-keygen :产生公钥与私钥(在~/.ssh) ssh-copy-id :将本机的公钥复制到远程机器的authorized_keys
利用ssh-copy-idSSH
第一步: 产生公钥与私钥对: 1
(五)ssh
两台Linux主机无密码登录通过ssh方式 1、首先克隆一台虚拟机
(五)ssh
两台Linux主机无密码登录通过ssh方式 1、首先克隆一台虚拟机
ssh配置,免
前提,机器A,B,均为RedHat Linux操作系统,均有用户user 1、以用户名user登录,在A机器上执行
ssh问题
ssh无密码登录配置: cp /etc/ssh/sshd_config /etc/ssh/sshd_confi
ssh小记
最近需要用,于是随便搞了一下,本来一个道理很简单的无密码登录,让我折腾了许久,不知道 是不是ubuntu10.10的bug,我的ssh无密码登录在这个系统里无论如何就是搞不定,我
在HP-UX上SSH
本示例介绍如何在HP-UX系统上实现SSH无密码登录,即登录远程服务器时不需要输入密码。实现方式是通过生成公钥和私钥,并将公钥添加到目标服务器的授权文件中。# 生成密钥对ssh-keygen -t
HP-UX 11i v3
OpenSSH
2023-05-23 05:19
批量实现ssh密码登录
centos下批量实现多台服务器之间的ssh无密码登录的信任关系
DOCX
0B
2018-12-09 12:52