CentOS系统的服务器上设置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.10

The 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)? yes

Warning: 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-keygen

Generating 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.local

The 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.10

root@192.168.0.10's password:

Now try logging into the machine, with "ssh '192.168.0.10'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

步骤四:

验证免密码 SSH 登录节点2:

代码如下:

[root@node1 ~]# ssh root@192.168.0.10

Last login: Sun Dec 13 14:03:20 2015 from www.ehowstuff.local

我希望这篇文章能帮助到你,为你提供 SSH 免密码登录 CentOS / RHEL 的基本认知和快速指南。




centos是什么系统
是免费的、开源的、可以重新分发的开源操作系统。CentOSLinux发行版是一个稳定的,可预测的,可管理的和可复现的平台,源于RedHatEnterpriseLinux(RHEL)依照开放源代码(大部分是GPL开源协议)规定释出的源码所编译而成。自2004年3月以来,CentOSLinux一直是社区驱动的开源项目,旨在与RHEL在功能上兼容。

centos和ubuntu有什么区别
二、主要差异 1. 来源与许可 Ubuntu是由开源社区开发的一个完全免费的操作系统。而CentOS则是基于Red Hat Enterprise Linux源代码的社区企业版,虽然大部分内容是开源的,但某些特定的软件包可能需要遵循GPL等开源协议。由于这种差异,企业在选择长期使用的操作系统时,需要考虑潜在的成本和合规性问题。2. ...

linux服务器有哪些
一、常见的Linux服务器类型 Debian服务器 Debian操作系统具有稳定可靠的特点,被广泛应用于企业级服务器领域。其软件包管理相对简单,适合作为服务器操作系统使用。Ubuntu服务器 Ubuntu是一种流行的开源操作系统,其服务器版本提供了强大的功能和易用性。它拥有广泛的硬件支持,并且维护起来相对容易。CentOS服务...

服务器DELL R710安装配置centos服务器系统的方法
  第二个问题:分区的时候可能会遇到的问题。如何分区网上大把的文章。1:要求分配\/boot\/efi分区。这个是在做64位centos必须要分析的,一般和boot分区差不多大就好了。  2:要求GPT分区处理。提示大致为:sda must have GPT label.处理方法:  l 按ctrl+alt+...

RHEL7和CentOS 7都有哪些变化?CentOS 7有什么不一样
旧的runlevel命令在systemd下仍然可以使用。可以继续使用它,尽管systemd使用 ‘target’ 概念(多个的 ‘target’ 可以同时激活)替换了之前系统的runlevel。等价的systemd命令是systemctl list-units –type=target 三、其他配置工具:1、setup和ntsysv工具还是保留了,但是功能已大大减弱,以前ntsysv工具可以...

centos7服务器突然挂死,接键盘不能输入,网络不通
centos7服务器突然挂死,接键盘不能输入,网络不通的处理办法如下:1、检查硬件问题:如果服务器硬件出现故障,例如硬盘故障、内存故障等,可能导致服务器崩溃。您可以检查服务器的硬件状态,例如打开服务器机箱查看硬件状态或者连接远程管理卡查看硬件状态。2、检查系统日志:您可以查看系统日志,找到服务器...

Centos7系统有什么特点?
兼容性高:CentOS 7 兼容大多数硬件,可以运行在多种计算机硬件平台上,包括 x86、x64 和 ARM 等处理器体系结构。稳定性好:CentOS 7 采用了 RHEL 的源代码,在稳定性方面有很大优势。安全性高:CentOS 7 安装时会自动开启防火墙和 SELinux,可以有效保护系统安全。支持软件包管理:CentOS 7 采用了 ...

centos7系统sshd服务,启动几秒后,服务就自动断开了?
修改服务器端参数 如果你用多台本地机器连接服务器,可以考虑把服务器端的配置作修改路径是:\/etc\/ssh\/sshd_config 在其中添加一行内容,意思是向客户端每60秒发一次保持连接的信号 ClientAliveInterval 60 如果仍要设置断开时间,还有一个参数可以添加 ClientAliveCountMax 60 意思是如果客户端60次未响应就...

概述一下,centos与redhat的区别和优缺点?
2. 更新:Red Hat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。3. 品质保证:Red Hat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。4. 应用场景:Red Hat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中...

如何在CentOS系统中安装配置SNMP服务
4、安装完SNMP服务后,就需要进行相关配置了,SNMP的配置文件在:yum安装snmpd的配置文件为 \/etc\/snmp\/snmpd.conf 5、如果不会在命令模式下使用vi编辑器的话,建议把snmpd.conf配置文件下载到本地,然后用UE等文本编辑软件打开编辑更改。如何在CentOS系统中安装配置SNMP服务 配置snmpd.conf文件需要更改...

洛阳市15965059233: CentOS服务器端怎么配置SSH远程连接 -
超荷参苓: WINDOWS2000系统中PROFESSIONAL版本是不能开启远程桌面功能让别人访问的,但SERVER版可以开启,不过需要我们安装相应的WINDOWS组件.方法如下:第一步:通过任务栏的“开始->设置->控制面板”,选择里头的“ 添加/删除程序”.第二步:在左边选择“添加/删除WINDOWS组件”.第三步:稍后会出现添加删除WINDOWS组件窗口,我们从中选择“终端服务”,然后点“下一步”进行安装.这里要注意一点的是在安装过程中需要我们插入WINDOWS 2000SERVER系统光盘到光驱中.第四步:安装完毕后需要重新启动计算机,重启后就完成了在WINDOWS 2000SERVER下的远程桌面连接功能的安装工作.

洛阳市15965059233: 如何在centos服务器上搭建dns -
超荷参苓: 在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1、使用全新的命令行工具 nmcli 来设置#显示当前网络连接#nmcli connection show NAME ...

洛阳市15965059233: 如何开启Centos6.4系统的SSH服务 -
超荷参苓: 无论是Centos6.4系统的虚拟电脑还是服务器,始终感觉直接在命令行中操作不方便;比如全选、复制、粘贴、翻页等等.比如服务器就需要在机房给服务器接上显示器、键盘才操作感觉更麻烦.所以就可借助SSH(安全外壳协议)远程操作和...

洛阳市15965059233: linux 下怎么配置本机的 DNS设置,是用安装的VM6.5用的是CentOS 5.5的系统 -
超荷参苓: 1.在桌面右键打开一个终端 输入 setup 选择network 里面就可以配置 ip 网关和dns2.直接修改resolv.conf文件 在/etc/resolv.conf文件中添加一条语句,保存即可. # vi /etc/resolv.conf nameserver 202.106.0.203.弄完别忘记在终端里 输入 service network restart 重新启动网卡服务

洛阳市15965059233: 如何通过SSH登录centos 6.4服务器 -
超荷参苓: 首先要在CentOS上面设置好ssh服务,下面是Linux的ssh的设置方法: 首先要修改ssh的配置文件sshd_config,输入命令: vi /etc/ssh/sshd_config 2. 在这个文件中,将PermitRootLogin without-password这一行修改为PermitRootLogin yes,这一...

洛阳市15965059233: Linux系统(CentOS6.2)每次重启后要重置DNS配置,怎么解决这个问题,求指导?请给出详细操作,谢谢! -
超荷参苓: 修改配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0具体内容参照如下:OOTPROTO=static #...

洛阳市15965059233: 如何正确配置centos中的 dns 默认设定 -
超荷参苓: DNS与BIND的区别DNS:一种主机名称与IP的解析协议BIND:提供DNS服务的套件DNS服务器工作原理客户端linux主机利用/etc/resolv.conf中提供的DNS服务器的IP来进行查询DNS服...

洛阳市15965059233: Linux centOS如何修改DNS地址及文本界面下启动网卡? -
超荷参苓: Linux修改DNS地址: DNS是用于解析域名后端IP的服务器.Linux和Windows一样,可自定义DNS地址,修改起来非常简单.当Linux作为网站服务器使用,运行Wordpress查询速度缓慢的情况下,可尝试修改一个快速的DNS服务器解决以上问...

洛阳市15965059233: 如何在CentOS系统中安装配置SNMP服务 -
超荷参苓: CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统;SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题...

洛阳市15965059233: 怎样修改centos6.5系统的ssh登陆端口号 -
超荷参苓: 第1步:使用本机或ssh远程连接到centos系统并成功登录. 电脑互助网注:默认这个端口号为22,如果端口不对,请联系服务器管理员. 第2步:输入命令“vi /etc/ssh/sshd_config”并确定. 电脑互助网注:vi 后面是文件的完整路径.如果想打开其他文...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网