centos ssh keygen,centos ssh配置

这篇文章给大家聊聊关于centos ssh keygen,以及centos ssh配置对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

Centos7SSH密钥登陆及密码密钥双重验证详解

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:

su root

cd~

二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定

三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥

四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

#是否让 sshd去检查用户家目录或相关档案的权限数据,

#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入

StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:

cd~/.ssh

cat id_ras.pub>> authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz

SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。

现在开始下载,命令:

cd~/.ssh

sz id_ras

然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:

选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。

七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:

~/.ssh/ 700

.ssh/authorized_keys 644

.ssh/id_rsa 600且属于你当前要添加的用户

八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

vim/etc/ssh/sshd_config

PasswordAuthentication改为yes

然后再加一条:uthenticationMethods publickey,password

重启SSH服务:systemctl restart sshd.service

SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来即可。

个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

Centos7 SSH密钥登陆及密码密钥双重验证详解

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:

su root

cd~

二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定

三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥

四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

#是否让 sshd去检查用户家目录或相关档案的权限数据,

#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入

StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:

cd~/.ssh

cat id_ras.pub authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz

SecureCRT配置:选项会话选项X/Y/Zmodem,修改上传和下载的目录。

现在开始下载,命令:

cd~/.ssh

sz id_ras

然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:

选项会话选项SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。

七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:

~/.ssh/ 700

.ssh/authorized_keys 644

.ssh/id_rsa 600且属于你当前要添加的用户

八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

vim/etc/ssh/sshd_config

PasswordAuthentication改为yes

然后再加一条:uthenticationMethods publickey,password

重启SSH服务:systemctl restart sshd.service

SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项会话选项SSH2,把密码这一栏勾起来即可。

个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

如何在 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的基本认知和快速指南。

阅读剩余
THE END