CentOS SSH免密码登录(SSH互信)

简介:

在做集群的时候是需要SSH互信的,另外也利于在另一节点操作方便

1.Node1中生成公钥和私钥对

1
2
3
4
5
6
7
[root@Node1~] # ssh-keygen -t rsa
Generatingpublic /private  rsa key pair.
Enterfile  in  which  to save the key ( /root/ . ssh /id_rsa ): 回车
Enterpassphrase (empty  for  no passphrase): 回车
Entersame passphrase again: 回车
Youridentification has been saved  in  /root/ . ssh /id_rsa .
Yourpublic key has been saved  in  /root/ . ssh /id_rsa .pub.

这期间一直按回车即可,这样公钥/私钥对就创建完毕

2.Node2上创建.ssh目录并设置权限

1
2
[root@Node2~] # mkdir /root/.ssh/
[root@Node2~] # chmod 700 .ssh/

3.将公钥传送到Node2上,这样在Node1上就可以免密码登录Node2了

1
2
3
[root@Node1~] # scp .ssh/id_rsa.pub Node2:.ssh/authorized_keys
root@Node2'spassword: 输入Node2(192.168.100.223)的root密码
id_rsa.pub                                   100%  392     0.4KB /s    00:00

或者也可以直接使用

1
[root@node1 ~] # ssh-copy-id -i .ssh/id_rsa.pub root@node2

现在我们已经可以在Node1上免密码登录Node2了

如果出现

1
2
3
4
5
[root@Node2 . ssh ] # ssh -copy -id -i id_rsa.pub root@Node1
- bash ssh command  not found
[root@Node2 . ssh ] # scp id_rsa.pub Node1:.ssh/authorized_keys
- bash scp command  not found

则是说明未安装openssh-clients

执行

1
yum -y  install  openssh-clients

这时最好在Node2上执行:

1
2
[root@node2 ~] # touch /root/.ssh/authorized_keys2  (如果已经存在这个文件, 跳过这条)
[root@node2 ~] # cat /root/.ssh/authorized_keys   >> /root/.ssh/authorized_keys2 (将authorized_keys的内容追加到 authorized_keys2 中)

这里在Node2上新建authorized_keys2文件,并将authorized_keys文件追加到authorized_keys2文件里是为了如果需要在多台机器上进行互信,则可能会将authorized_keys文件覆盖,现在直接将所有公钥都放在一个文件里头


另外再在Node2上也生成公钥和私钥对,将公钥传至Node1上



本文转自 rong341233 51CTO博客,原文http://blog.51cto.com/fengwan/1405466链接:


相关文章
|
8天前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
9天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
7天前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
28 1
|
15天前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
27 4
|
2月前
|
安全 Linux 数据安全/隐私保护
忘记CentOS 7.7 root密码?别慌,一招教你轻松解决!
对于系统管理员来说,密码是保护系统安全的第一道防线。但在实际操作中,忘记密码的情况难以避免。如果忘记了CentOS 7.7的root密码,可能会无法执行一些需要root权限的重要操作,因此学会如何在忘记密码后重置变得尤为重要。
忘记CentOS 7.7 root密码?别慌,一招教你轻松解决!
|
24天前
|
网络安全
[ansible]建立ssh互信
[ansible]建立ssh互信
|
10天前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
33 0
|
10天前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
2月前
|
安全 Linux 网络安全
|
14天前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
下一篇
云函数