centos ssh免密登录?centos7ssh连接不上
大家好,今天来为大家解答centos ssh免密登录这个问题的一些问题点,包括centos7ssh连接不上也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
centos怎么配置ssh免密码
#环境说明\x0d\x0a客户机:Mac OS X\x0d\x0a服务器:CentOS 6.5\x0d\x0a客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh-v’命令可以查看版本.\x0d\x0a\x0d\x0a#大致流程\x0d\x0a1.在客户机创建一对密钥文件,包括公钥文件(~/.ssh/id_rsa.pub),私钥文件(~/.ssh/id_rsa).\x0d\x0a\x0d\x0a2.把公钥放到服务器上(~/.ssh/authorized_keys),在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以自动登录了。\x0d\x0a\x0d\x0a#客户机配置\x0d\x0a1.查看~/.ssh文件夹,若已经存在有公钥文件(id_rsa.pub),私钥文件(id_rsa),则可以跳过客户端配置.\x0d\x0a\x0d\x0a2.生成密钥文件.\x0d\x0a$ ssh-keygen \x0d\x0a然后一路回车.\x0d\x0a然后~/.ssh下会生成id_rsa.pub和id_rsa,其中id_rsa文件起到唯一标识你的客户机的作用.\x0d\x0a注意:不要改这两个文件的文件名,ssh登陆时会读取id_rsa文件.\x0d\x0a\x0d\x0a#服务器配置\x0d\x0a1.修改sshd配置文件(/etc/ssh/sshd_config).\x0d\x0a找到以下内容,并去掉注释符”#“\x0d\x0a=========================\x0d\x0aRSAAuthentication yes\x0d\x0aPubkeyAuthentication yes\x0d\x0aAuthorizedKeysFile.ssh/authorized_keys\x0d\x0a=========================\x0d\x0a\x0d\x0a2.配置authorized_keys文件.\x0d\x0a若’~/.ssh/authorized_keys’不存在,则建立.ssh文件夹和authorized_keys文件.\x0d\x0a将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.\x0d\x0aPS:可以在客户机中执行命令来拷贝:\x0d\x0acat~/.ssh/id_rsa.pub| ssh user@host“cat->>~/.ssh/authorized_keys”\x0d\x0a\x0d\x0a注意:\x0d\x0a1).ssh目录的权限必须是700\x0d\x0a2).ssh/authorized_keys文件权限必须是600 \x0d\x0a\x0d\x0a3.重启sshd.\x0d\x0a$/etc/init.d/sshd restart\x0d\x0a\x0d\x0a#测试\x0d\x0a客户机执行:ssh-v user@host(-v调试模式)\x0d\x0a会显示一些登陆信息.\x0d\x0a若登陆失败,或者仍然要输入密码,可以在服务器查看日志文件:/var/log/secure.\x0d\x0a\x0d\x0a若登陆成功,则以后就可以用’ssh user@host’直接登陆了,不用输入密码.
CentOS配置ssh无密码登录注意事项
在CentOS中配置无密码SSH登录时,首先需要修改SSH配置文件,取消对`PasswordAuthentication`和`PubkeyAuthentication`的注释,重启sshd服务后,以非root用户(如hadoop)登录。如果初始情况下,通过SSH连接到其他主机(如master.hadoop)需要输入密码,那么可以生成密钥对,生成的id_dsa和id_dsa.pub文件分别用于私钥和公钥。将公钥id_dsa.pub的内容添加到目标主机的~/.ssh/authorized_keys文件中,可以通过命令`cat~/.ssh/id_dsa.pub| ssh hadoop@master.hadoop'cat-~/.ssh/authorized_keys'`完成,输入目标主机的用户密码。
但要注意,CentOS默认的authorized_keys文件权限可能不够安全,因为它允许群组用户修改。为了提高安全性,应使用`chmod 644`将权限设置为文件所有者可读写,群组和其他用户只能读取。这满足了系统对文件权限的要求,即除了所有者外的其他用户不能写入。
经过以上步骤,slave.hadoop已经可以无密码登录到master.hadoop了。只需要在源主机上将公钥发送到目标主机,添加到目标主机的authorized_keys文件中,就完成了跨主机的无密码SSH登录配置。
如何在 CentOS / RHEL 上设置 SSH 免密码登录
作为系统管理员,你计划在 Linux上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A能自动登录到主机 B。自动登录也就是说,要在 shell脚本中使用ssh,而无需要输入任何密码。
本文会告诉你怎样在 CentOS/RHEL上设置 SSH免密码登录。自动登录配置好以后,你可以通过它使用 SSH(Secure Shell)和安全复制(SCP)来移动文件。
SSH是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP协议在网络上向另一台电脑传输文件。
通过配置 SSH免密码登录,你可以享受到如下的便利:
用脚本实现日常工作的自动化。
增强 Linux服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴力破解攻击的一个推荐的方法,SSH密钥单凭暴力破解是几乎不可攻破的。
什么是 ssh-keygen
ssh-keygen是一个用来生成、创建和管理 SSH认证用的公私钥的工具。通过 ssh-keygen命令,用户可以创建支持SSH1和 SSH2两个协议的密钥。ssh-keygen为 SSH1协议创建 RSA密钥,SSH2则可以是 RSA或 DSA。
什么是 ssh-copy-id
ssh-copy-id是用来将本地公钥拷贝到远程的 authorized_keys文件的脚本命令,它还会将身份标识文件追加到远程机器的~/.ssh/authorized_keys文件中,并给远程主机的用户主目录适当的的权限。
SSH密钥
SSH密钥为登录 Linux服务器提供了更好且安全的机制。运行 ssh-keygen后,将会生成公私密钥对。你可以将公钥放置到任意服务器,从持有私钥的客户端连接到服务器的时,会用它来解锁。两者匹配时,系统无需密码就能解除锁定。
在 CentOS和 RHEL上设置免密码登录 SSH
以下步骤在 CentOS 5/6/7、RHEL 5/6/7和 Oracle Linux 6/7上测试通过。
节点1: 192.168.0.9节点2: 192.168.l.10
步骤1:
测试节点1到节点2的连接和访问:
[root@node1~]# ssh root@192.168.0.10The authenticity of host'192.168.0.10(192.168.0.10)' can't be established.RSA key fingerprint is 6d:8f:63:9b:3b:63:e1:72:b3:06:a4:e4:f4:37:21:42.Are you sure you want to continue connecting(yes/no)? yesWarning: Permanently added'192.168.0.10'(RSA) to the list of known hosts.root@192.168.0.10's password:Last login: Thu Dec 10 22:04:55 2015 from 192.168.0.1[root@node2~]#
步骤二:
使用 ssh-key-gen命令生成公钥和私钥,这里要注意的是可以对私钥进行加密保护以增强安全性。
[root@node1~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key(/root/.ssh/id_rsa):Enter passphrase(empty for no passphrase):Enter same passphrase again:Your identification has been saved in/root/.ssh/id_rsa.Your public key has been saved in/root/.ssh/id_rsa.pub.The key fingerprint is:b4:51:7e:1e:52:61:cd:fb:b2:98:4b:ad:a1:8b:31:6d root@node1.ehowstuff.localThe key's randomart image is:+--[ RSA 2048]----+|.++|| o o o|| o o o.||. o+..|| S..||....|| o E oo.o||= ooo.||. o.o.|+-----------------+
步骤三:
用 ssh-copy-id命令将公钥复制或上传到远程主机,并将身份标识文件追加到节点2的~/.ssh/authorized_keys中:
[root@node1~]# ssh-copy-id-i~/.ssh/id_rsa.pub 192.168.0.10root@192.168.0.10's password:Now try logging into the machine, with"ssh'192.168.0.10'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.
步骤四:
验证免密码 SSH登录节点2:
[root@node1~]# ssh root@192.168.0.10Last login: Sun Dec 13 14:03:20 2015 from www.ehowstuff.local
我希望这篇文章能帮助到你,为你提供 SSH免密码登录 CentOS/ RHEL的基本认知和快速指南。