`
AnonymMan
  • 浏览: 23705 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux(RHEL)下使用ssh-keygen设置ssh免密码登陆

阅读更多

      首先有两台Linux系统的A、B服务器,A的IP为192.168.11.89、B的IP为192.168.11.90,默认情况下在A机器上执行 ssh user@192.168.11.90 是需要输入密码的,如果在完全信任的情况下,每次执行ssh user@192.168.11.90都需要密码,这样就过于麻烦了,下面介绍下通过ssh-keygen设置ssh免密码登陆的方式;

 

1、在A的机器上执行:

a.生成公钥和私钥:

ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥(id_rsa.pub)和私钥(id_rsa),不设置密码);

b.将A上的公钥传到B机器上该user用户下的.ssh目录下

scp ~/.ssh/id_rsa.pub user@192.168.11.90:.ssh/id_rsa.pub (需要输入密码)或者使用ncssh-copy-id进行传输。

注意将B机器上该user用户下的.ssh目录的权限修改为700

2、在B的机器上执行:

cd ~/.ssh/

cat id_rsa.pub >> authorized_keys

chmod 600 ~/.ssh/authorized_keys

chmod 700 /home/user/

3、测试

在A机器上执行 ssh user@192.168.11.90,第一次的话会出现以下文字:

 

The authenticity of host 'app--02 (192.168.11.90)' can't be established.
RSA key fingerprint is 77:1a:83:89:bd:5e:d3:12:0e:42:9b:bf:e3:5c:51:a8.
Are you sure you want to continue connecting (yes/no)?    

 输入yes,如果无需密码就ssh到192.168.11.90上的话则证明配置OK了。

 

 

FAQ:可能造成配置之后仍需要密码的问题:

1、确认B机器上该user下的 ~/.ssh/ 目录的权限为700

2、确认B机器上该user下的 /home/user/目录的权限为700

3、确认B机器上该user下的 ~/.ssh/authorized_keys文件的权限为600

4、如果以上三个文件和目录的权限都没问题的话,尝试修改B机器上的 /etc/ssh/sshd_config文件

修改以下配置:

RSAAuthentication yes  
PubkeyAuthentication yes  
AuthorizedKeysFile     .ssh/authorized_keys

 

  重启SSH服务,/etc/rc.d/init.d/sshd restart

 

如果以上解决办法都不能解决你的问题的话,欢迎一起讨论。

 

 

 

 

 

 

 

0
1
分享到:
评论
2 楼 AnonymMan 2014-12-17  
string2020 写道
还在使用
scp ~/.ssh/id_rsa.pub user@192.168.11.90:.ssh/id_rsa.pub (需要输入密码)

撸主out了

请使用 ssh-copy-id

好的,学习了。
1 楼 string2020 2014-12-16  
还在使用
scp ~/.ssh/id_rsa.pub user@192.168.11.90:.ssh/id_rsa.pub (需要输入密码)

撸主out了

请使用 ssh-copy-id

相关推荐

    ssh远程登录linux

    下面将详细介绍SSH远程登录Linux的基本概念、配置及使用方法。 1. SSH的基本原理 SSH通过加密通信通道,确保了数据传输的安全性。它使用公钥/私钥对进行身份验证,防止中间人攻击。当用户尝试连接到远程Linux服务器...

    linux-RHEL7-1.docx

    在Linux环境下,尤其是Red Hat Enterprise Linux (RHEL) 7版本中,掌握关键的命令行工具是必不可少的技能之一。本文将详细介绍一系列重要的Linux命令及其用法,帮助读者更好地理解和运用这些工具。 #### 重要命令...

    SSH配置示例

    编辑`/etc/ssh/sshd_config`文件,根据需求调整安全设置,如禁用密码登录(`PasswordAuthentication no`),只允许特定用户登录(`PermitUsers`),限制端口(`Port`)等。重启SSH服务使更改生效:`sudo systemctl ...

    bash脚本中将密码传递给ssh/scp命令方法详解

    首先,我们可以使用`sshpass`工具,这是一个允许在不交互的情况下向SSH或SCP命令提供密码的开源程序。安装`sshpass`的方法取决于你的Linux发行版。在Debian或Ubuntu上,你可以使用`apt`命令安装: ```bash sudo apt...

    Linux远程登录和无密码登录方法.docx

    Linux远程登录和无密码登录是Linux系统管理中的基础操作,主要涉及到SSH(Secure Shell)协议。SSH是一种加密的网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在RHEL 5系统中,OpenSSH是默认的...

    openssh离线升级8.8rpm包

    OpenSSH 是一个免费的、开源的 SSH 服务器实现,广泛应用于 Linux、Unix 和 Windows 平台。OpenSSH 8.8 版本带来了许多新功能和安全修复,升级到该版本可以提高 SSH 服务器的安全性和稳定性。 升级前的准备 -------...

    基于Linux操作系统的SSH.rar

    **SSH(Secure Shell)**是一种网络协议,用于在不安全的网络上安全地远程登录到Linux操作系统,并执行命令、传输文件和其他操作。SSH通过加密所有传输的数据,确保了通信的安全性,防止了中间人攻击和其他形式的...

    redhat5.4 ssh 服务配置

    你可以使用`ssh-keygen -t rsa`生成公钥和私钥对,然后使用`ssh-copy-id -i id_rsa.pub root@ip`将公钥复制到远程主机的`~/.ssh/authorized_keys`文件中,这样就可以无密码登录了。 `scp`命令用于安全地复制文件和...

    SSH Secure Shell

    4. 远程登录:使用`ssh username@hostname`命令连接到远程服务器,如果设置了公钥认证,则无需输入密码。 5. 文件传输:使用`scp`命令进行文件的上传和下载,例如`scp file.txt user@remotehost:/path/to/directory...

    linux ssh 客户端 服务端 window服务端linux服务端 安装配置等 搜集整理较全

    2. **使用Windows的OpenSSH客户端**:Windows 10版本1809及更高版本内置了OpenSSH客户端,可以通过命令行使用`ssh`命令连接到Linux服务器。 ### 六、公钥认证 公钥认证提供比密码更安全的认证方式。在本地生成公钥...

    ssh安全远程连接方法,linux中远程安全连接方法

    1. 生成SSH密钥对:使用`ssh-keygen`命令生成公钥和私钥。 2. 将公钥复制到远程服务器:使用`ssh-copy-id user@remote_host`命令将公钥添加到服务器的`~/.ssh/authorized_keys`文件中。 3. 连接服务器:使用`ssh ...

    linux SSH 基本命令操作。

    vi(Visual Editor Improved)是Linux下常用的文本编辑器。vi的基本操作包括: - 进入插入模式:在命令模式下按`i` - 保存并退出:在命令模式下输入`:wq`,然后按回车 - 不保存退出:在命令模式下输入`:q!`,...

    如何做到两台Linux机器之间不使用密码即可通过SSH远程登录

    为了提高安全性与便捷性,可以设置免密码SSH登录功能,即通过公钥认证方式实现无需输入密码即可完成远程登录的过程。本文将详细介绍如何在两台Linux机器之间实现这一功能。 #### 基础概念 - **SSH(Secure Shell)...

    SSH软件,具体说明请看文件内容。

    4. **SSH密钥对**:为了免密码登录,可以生成SSH密钥对。在本地使用`ssh-keygen`创建一对密钥,并将公钥(默认为`~/.ssh/id_rsa.pub`)添加到远程服务器的`~/.ssh/authorized_keys`文件中。 ```bash ssh-keygen -...

    sshtools.pdf(ssh工具安装及命令)

    1. **限制SSH访问**:编辑`/etc/ssh/sshd_config`,限制只允许特定用户或IP登录,禁用密码登录,启用公钥认证。 2. **更新SSH版本**:定期检查并更新SSH服务器软件,避免已知漏洞。 3. **防火墙规则**:配置防火墙...

    SSH的搭建案例

    1. **安装SSH服务**:在大多数Linux发行版中,可以通过包管理器(如`apt` for Ubuntu/Debian或`yum` for CentOS/RHEL)来安装SSH服务。例如: ``` sudo apt install openssh-server ``` 2. **配置SSH**:默认...

    SSH2的搭建个人整理

    1. 安装SSH服务器:对于Linux系统,通常使用OpenSSH服务器软件包。可以通过包管理器如apt(Ubuntu/Debian)、yum(CentOS/RHEL)或dnf(Fedora)来安装。 - Ubuntu/Debian: ``` sudo apt-get update sudo apt-...

    ssh简单的配置

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。它是IT领域中不可或缺的工具,特别是在服务器管理和自动化任务执行方面。本教程将详细介绍SSH的简单配置,帮助初学者理解和...

    完整SSH实例

    使用`ssh-keygen`命令生成公钥和私钥,通常存储在`~/.ssh/id_rsa`(私钥)和`~/.ssh/id_rsa.pub`(公钥)。 5. **密钥对认证** 将公钥复制到远程服务器的`~/.ssh/authorized_keys`文件中,即可实现无密码登录: ...

    安装和使用SSH软件传文件.zip

    更安全的方式是使用密钥对认证,生成公钥私钥对(`ssh-keygen`命令),然后将公钥复制到远程服务器的`~/.ssh/authorized_keys`文件中(`ssh-copy-id`命令)。 **四、SSH文件传输** SSH也提供了安全的文件传输功能...

Global site tag (gtag.js) - Google Analytics