如果您对CentOS6.9下ssh密钥登录配置步骤感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于CentOS6.9下ssh密钥登录配置步骤的详细内容,我们还将为您解答免密码
如果您对CentOS6.9下ssh密钥登录配置步骤感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于CentOS6.9下ssh密钥登录配置步骤的详细内容,我们还将为您解答免密码登录和ssh-keygen 命令常用参数的相关问题,并且为您提供关于centos 6.5 ssh 免密码登录、CentOS 6.5中SSH免密码登录配置教程、CentOS 6.5之SSH 免密码登录、CentOs 6.5设置使用私钥登录关闭ssh的密码登录修改ssh默认端口的有价值信息。
本文目录一览:- CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数(centos7 ssh免密码登录)
- centos 6.5 ssh 免密码登录
- CentOS 6.5中SSH免密码登录配置教程
- CentOS 6.5之SSH 免密码登录
- CentOs 6.5设置使用私钥登录关闭ssh的密码登录修改ssh默认端口
CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数(centos7 ssh免密码登录)
密钥登录步骤(免密码登录)
ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方法。
使用密钥登录分为3步:
1、生成密钥(公钥与私钥);
2、放置公钥到服务器~/.ssh/authorized_key文件中;
3、配置ssh客户端使用密钥登录。
---------------------
一、通过ssh-keygen命令生成密钥对,密钥类型为RSA,也可以通过其他软件生产密钥对。
==========================================================================
[email protected]:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pipci/.ssh/id_rsa): <==这里输入私钥名,直接回车就可以名字就为括号中默认的名字
Enter passphrase (empty for no passphrase): <==输入密码,自动登录设置为空,直接回车就可以
Enter same passphrase again: <==输入确认密码,直接回车就可以
Your identification has been saved in /home/pipci/.ssh/id_rsa. <==生成的私钥名和位置
Your public key has been saved in /home/pipci/.ssh/id_rsa.pub. <==生成的公钥名和位置
The key fingerprint is:
SHA256:Hsi5oo0Yr1a9eXtgNeLlu/UAJx1EiH34Gghv96FeXEs [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+ <==密钥的位数
| o +o |
| . . +.. |
| o . o. |
| . B *.o.E |
| . * SoBo+ . |
| . . * =++ . |
|. . . = + oo |
| = + + . +. o |
|+.+ . ..o.. . |
+----[SHA256]-----+
[email protected]:~$
===================================================================
查看生成的密钥文件:
===================================================================
[email protected]:~$ ls -l .ssh/
-rw------- 1 pipci pipci 1679 10月 19 11:45 id_rsa
-rw-r--r-- 1 pipci pipci 394 10月 19 11:45 id_rsa.pub
[email protected]:~$
===================================================================
注意两点:
1、生成密钥对输入密码的作用是保护本地私有密钥的密码,也就是说,即使有人到用了你的计算机或私钥文件,没有这个密码依然不能使用你的私钥,在使用密钥登录时候也会要求你输入密码,这个密码就是生成密钥对时候输入的密码,用来解锁私钥文件,密码最低5个字符。
2、生成密钥对的私钥权限必须是600公钥权限是644,即只能本人可以查看私钥文件,除了本人以外的任何用户都不能产看,别人可以查看也就意味着任何人都可以通过这个私钥登录了,显然这是不安全的,公钥可以随便查看,但是不能修改内容,修改了还怎么配对登录。同时密钥对的父目录.ssh的权限必须是700即只有本人可以查看和进入。如果是通过命令新创建的.ssh默认就是700权限,创建完查看下就可以,如果不是更改权限。如果不是上面说的权限,客户端登录时候可能会出错。
二、通过scp命令将id_rsa.pub公钥文件复制到远程服务器:
====================================================================
[email protected]:~$ scp /home/pipci/.ssh/id_rsa.pub [email protected]:/home/laopi/.ssh/
[email protected]‘s password:
id_rsa.pub 100% 394 0.4KB/s 00:00
[email protected]:~$
=====================================================================
通过scp命令复制,前提是远程服务器已经开启ssh密码登录,将公钥文件复制到用来管理用户主目录下面的.ssh目录如果不存在先创建这个目录。这个.ssh的目录权限
必须设置成700要不然登录会提示没有权限的错误,上面的例子远程服务器的ip地址为192.168.1.166用户名为laopi(普通用户)
三、远程服务器的配置
1、将上传的公钥文件导成或重命名成authorized_keys文件或
[[email protected] ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys #导成
2、编辑ssh的配置文件。
vim /etc/ssh/sshd_config
要确保下面这两项目前面没有#使之生效
---------------------------------------------------------------
PubkeyAuthentication yes #允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys #指定包含用于用户身份验证的公钥的文件
---------------------------------------------------------------
为了安全考虑禁用root账户登录
PermitRootLogin no #选项前面可以加#号注释掉,同样会禁用root用户
有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no #选项前面可以加#号注释掉,同样会禁用密码登录
重启一下ssh服务,这样ssh配置才能生效:
[[email protected] ~]# service sshd restart
四、ssh-keygen 命令常用参数
$ ssh-keygen 参数
常用参数:
-t 指定要创建的密钥类型,如:-t dsa(SSH-2) | ecdsa | ed25519 | rsa(SSH-2)| rsa1(SSH-1)
-b bits 指定密钥长度。对于 RSA 密钥,最小要求 768 位,默认是 2048 位
-C comment 提供一个注释。
-N new_passphrase 提供一个新的密语。
-F hostname
在 kNown_hosts 文件中搜索指定的 hostname ,并列出所有的匹配项。 这个选项主要用于查找散列过的主机名/ip地址,还可以和 -H 选项联用打印找到的公钥的散列值。
-H 对 kNown_hosts 文件进行散列计算。这将把文件中的所有主机名/ip地址替换为相应的散列值。原来文件的内容将会添加一个".old"后缀后保存。这些散列值只能被 ssh 和 sshd 使用。这个选项不会修改已经经过散列的主机名/ip地址,因此可以在部分公钥已经散列过的文件上安全使用。
-R hostname
从 kNown_hosts 文件中删除所有属于 hostname 的密钥。这个选项主要用于删除经过散列的主机(参见 -H 选项)的密钥。
-f filename 指定密钥文件名
-l 显示公钥文件的指纹数据。它也支持 RSA1 的私钥。对于 RSA 和 DSA 密钥,将会寻找对应的公钥文件,然后显示其指纹数据。
1、查看id_rsa.pub的公钥指纹
[email protected]:~$ ssh-keygen -lf .ssh/id_rsa.pub
2048 SHA256:Hsi5oo0Yr1a9eXtgNeLlu/UAJx1EiH34Gghv96FeXEs [email protected] (RSA)
1、用 md5 的方式查看指纹数据
[email protected]:~$ ssh-keygen -E md5 -lf .ssh/id_rsa.pub
2048 MD5:fa:ba:4b:35:18:7f:5f:94:f0:6b:b5:7a:89:98:f9:a5 [email protected] (RSA)
centos 6.5 ssh 免密码登录
百度一下,ssh linux 关键字,就有很多基本设置了,但是在centos6.5及以上版本除了正常步骤设置后还有一个配置需要更改,不然ssh登录时还是要密码验证。下面简要记录一下操作步骤:
CentOS 6.5配置SSH免密码登录
创建新用户:useradd Hadoop
设置密码:passwd hadoop,输入自己想要的密码即可,之后su hadoop切换用户
修改主机名:vim /etc/sysconfig/network,加入hostname master,注销系统之后即可看到修改成功
修改hosts文件:vim /etc/hosts 192.168.56.101 master 192.168.56.102 slave1
ssh免登录,查看ssh:
[hadoop@master ~]$ rpm -qa|grep ssh
openssh-server-5.3p1-94.el6.x86_64
libssh2-1.4.2-1.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
openssh-5.3p1-94.el6.x86_64
openssh-askpass-5.3p1-94.el6.x86_64
发现我已经都安装了,如果有没安装的,那么使用yum install ssh(缺少的即可)
修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
启用这三行,然后重启service sshd restart
现在开始配置无密码登录 [hadoop@master ~]$ cd /home/hadoop/
[hadoop@master ~]$ ssh-keygen -t rsa一路回车[hadoop@master ~]$ cd .ssh/
[hadoop@master .ssh]$ cp id_rsa.pub authorized_keys
[hadoop@master .ssh]$ chmod 600 authorized_keys
把authorized_keys复制到其他要无密的机器上[hadoop@master ~]$ scp authorized_keys root@192.168.56.102:/home/hadoop/.ssh要以root权限过去,否则会出错
设置.ssh目录权限 chmod 700 -R .ssh
如果你想要每台机子都无密码登录,那么把每台机子产生的密钥添加到文件中(这是在受控端机子上面执行的)
cat id_rsa.pub >> .ssh/authorized_keys
现在可以从master免登录到slave1,那么如果想从slave1免登录到master,也需要在slave1上执行 scp authorized_keys root@192.168.56.101:/home/hadoop/.ssh/将文件拷贝到master之后,在master上面执行:cat id_rsa.pub >> .ssh/authorized_keys
这样既可以从master到slave1,也可以从slave1到master,均是免密码登录
比如我配置成功之后的界面如下: [hadoop@master ~]$ clear
[hadoop@master ~]$ ssh slave1
Last login: Mon Nov 3 13:33:02 2014 from 192.168.56.101
[hadoop@slave1 ~]$ ssh master
Last login: Mon Nov 3 13:33:06 2014 from 192.168.56.102
[hadoop@master ~]$
如果遇到登录失败的情况:我用的是centos版本是6.5,centos6.5对网络管理相当严格,需要在原来的基础上关闭selinux, 到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled,重启机器,ok。
CentOS 6.5中SSH免密码登录配置教程
0.说明
这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机。目标是实现A、B两台主机分别能够通过ssh免密码登录到对方主机。不同主机的配置过程一样,这里介绍A主机的配置过程。
事先在AB主机分别创建好要免密码登录的用户名,在/etc/hosts文件增加主机名和ip。
创建新用户:useradd linuxidc
设置密码:passwd linuxidc,输入自己想要的密码即可,之后su linuxidc切换用户
修改主机名:vim /etc/sysconfig/network,加入hostname=master,注销系统之后即可看到修改成功
修改hosts文件:
vim /etc/hosts 192.168.88.101 master 192.168.88.102 slave1
1.环境设置
1.1 关闭防火墙(root权限)
centos6.5对网络管理相当严格,需要关闭selinux。到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled 。需要root权限。
# su root
Password:
$ vim /etc/selinux/config
找到SELINUX并修改为SELINUX=disable
1.2 修改sshd的配置文件(root权限)
$ vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符“#”
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
1.3 重启sshd服务(root权限)
$ /sbin/service sshd restart
2.本机生成公钥和私钥
从root切换回要免密码登录的用户linuxidc,执行命令。
# ssh-keygen -t rsa
默认在用户linuxidc的家目录(~/.ssh/)生成两个文件:
id_rsa: 私钥
id_rsa.pub:公钥
3.把公钥导入到认证文件
3.1 导入到本机
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成这一步,再按照步骤4修改相关文件权限,可以免密码登录本机。可以输入以下命令验证。
ssh localhost
如果能够登录,即验证成功。
3.2 导入到目标主机
3.2.1在本机操作,传送到目标主机
# scp ~/.ssh/id_rsa.pub root@目标主机ip或主机名:/home/id_rsa.pub
注意把文件传送到目标主机时,要用root用户,否则会因权限不够而拒绝。输入目标主机密码后,出现OK即传输成功。
3.2.2 登录到目标主机,把公钥导入到认证文件
使用要被免密码登录的用户名linuxidc,登录到目标主机。然后执行以下操作。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步骤4修改相关文件权限,完成免密码登录设置。
4.更改相关文件的权限
# chmod 700 ~/.ssh # chmod 600 ~/.ssh/authorized_keys
至此,完成免密码登录设置。
5. 测试
A主机(linuxidc@master),B主机(linuxidc@slave1)。在A主机,切换为linuxidc用户,执行以下命令测试:
ssh slave1
以上所述是小编给大家介绍的CentOS 6.5中SSH免密码登录配置教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
您可能感兴趣的文章:
- CentOS下SSH无密码登录的配置文件
- CentOS SSH无密码登录的配置
- 在CentOS / RHEL上设置 SSH 免密码登录的方法
- centos配置ssh免密码登录后仍要输入密码的解决方法
CentOS 6.5之SSH 免密码登录
0.说明
这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机。目标是实现A、B两台主机分别能够通过ssh免密码登录到对方主机。不同主机的配置过程一样,这里介绍A主机的配置过程。
事先在AB主机分别创建好要免密码登录的用户名,在/etc/hosts文件增加主机名和ip。
创建新用户:useradd linuxidc
设置密码:passwd linuxidc,输入自己想要的密码即可,之后su linuxidc切换用户
修改主机名:vim /etc/sysconfig/network,加入hostname=master,注销系统之后即可看到修改成功
修改hosts文件:vim /etc/hosts
192.168.88.101 master 192.168.88.102 slave1
1.环境设置
1.1 关闭防火墙(root权限)
centos6.5对网络管理相当严格,需要关闭selinux。到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled 。需要root权限。
# su root
Password:
$ vim /etc/selinux/config
找到SELINUX并修改为SELINUX=disable
1.2 修改sshd的配置文件(root权限)
$ vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符“#”
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
1.3 重启sshd服务(root权限)
$ /sbin/service sshd restart
2.本机生成公钥和私钥
从root切换回要免密码登录的用户linuxidc,执行命令。
# ssh-keygen -t rsa
默认在用户linuxidc的家目录(~/.ssh/)生成两个文件:
id_rsa: 私钥
id_rsa.pub:公钥
3.把公钥导入到认证文件
3.1 导入到本机
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成这一步,再按照步骤4修改相关文件权限,可以免密码登录本机。可以输入以下命令验证。
ssh localhost
如果能够登录,即验证成功。
3.2 导入到目标主机
3.2.1在本机操作,传送到目标主机
# scp ~/.ssh/id_rsa.pub root@目标主机ip或主机名:/home/id_rsa.pub
注意把文件传送到目标主机时,要用root用户,否则会因权限不够而拒绝。输入目标主机密码后,出现OK即传输成功。
3.2.2 登录到目标主机,把公钥导入到认证文件
使用要被免密码登录的用户名linuxidc,登录到目标主机。然后执行以下操作。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步骤4修改相关文件权限,完成免密码登录设置。
4.更改相关文件的权限
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
至此,完成免密码登录设置。
5. 测试
A主机(linuxidc@master),B主机(linuxidc@slave1)。在A主机,切换为linuxidc用户,执行以下命令测试:
ssh slave1
能够免密码直接登录,即设置成功。如果出错,请仔细检查以上各个步骤。
CentOs 6.5设置使用私钥登录关闭ssh的密码登录修改ssh默认端口
使用SecureCRT工具创建RSA公钥和私钥
【选项】=》【会话选项】
然后在弹出对话框中选择【公钥】然后点击【属性】:
在弹出窗口中选中【使用会话公钥设置】,点击【创建身份文件】按钮:
然后下面是进行密钥设置向导,按照如图设置,然后点击下一步:
关于这里的【通行短语】和【注释】可以不同填写,但是如果【通行短语】设置了的话,那么需要记住,因为第一次登录会被使用到:
这里选择公钥和私钥文件的保存路径
下面是提示是否需要上传密钥信息,这里我们选择【否】,我们自己手工上传:
然后我们点击确定按钮:
上传公钥
#下面的做法是在用户的用户目录中建立一个.ssh(前面用了.表示是隐藏目录)目录,在目录中添加一个authorized_keys文件,将刚刚生成的.pub后缀的文件内容粘贴到authorized_keys文件中。设置这个authorized_keys文件的权限设置成600,而将.ssh的目录权限设置成700。
[root@localhost ~]# cd /home/ALone
[root@localhost ALone]# mkdir .ssh
[root@localhost ALone]# chmod 700 .ssh
[root@localhost ALone]# cd .ssh
[root@localhost .ssh]# vim authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls -ld ../.ssh authorized_keys
-rw-------. 1 root root 381 Dec 24 09:53 authorized_keys
drwx------. 2 root root 4096 Dec 24 09:53 ../.ssh
#这里我们需要将公钥和.ssh目录的所有者和所属组设置成ALone,否则就会出现无法连接的情况
[root@localhost .ssh]# chgrp ALone authorized_keys ../.ssh
[root@localhost .ssh]# chown ALone authorized_keys ../.ssh
[root@localhost .ssh]# ls -ld ../.ssh authorized_keys
-rw-------. 1 ALone ALone 381 Dec 24 09:26 authorized_keys
drwx------. 2 ALone ALone 4096 Dec 24 09:26 ../.ssh
设置允许使用密钥登录
[root@localhost .ssh]# vim /etc/ssh/sshd_config
#来到47行将下面三行内容前面的井号去掉
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
对于这个位置,原本是注释掉了,发现如果没有将注释去掉还是可以使用密钥登录的,但是如果将上面的注释去掉并且将yes修改成no,那么就不能密钥登录了。登录的时候会得到下面内容:
设置禁止通过密码登录ssh
#禁止掉密码登录,编辑vim /etc/ssh/sshd_config文件来到66行,将PasswordAuthentication中的yes设置成no:
修改ssh的默认连接端口
#修改SSH的默认连接端口,编辑vim /etc/ssh/sshd_config文件来到13行,将Port前面的井号去掉,然后将后面的22修改成自己想要的端口号:
#接着我们需要将这个端口加入iptables中
[root@localhost .ssh]# iptables -I INPUT -p tcp --dport 10078 -j ACCEPT
禁止root用户远程登录
编辑vim /etc/ssh/sshd_config文件,来到45行中将PermitRootLogin一行注释去掉,并且将yes修改成no,这里发现如果PermitRootLogin值没有明确设置成no(就是注释掉或者没有注释掉而值设置成yes)都是允许root用户登录的。
在对于上面/etc/ssh/sshd_config文件的修改后需要保存文件,然后平滑重启ssh服务
[root@localhost .ssh]# /etc/init.d/sshd reload
我们今天的关于CentOS6.9下ssh密钥登录配置步骤和免密码登录和ssh-keygen 命令常用参数的分享已经告一段落,感谢您的关注,如果您想了解更多关于centos 6.5 ssh 免密码登录、CentOS 6.5中SSH免密码登录配置教程、CentOS 6.5之SSH 免密码登录、CentOs 6.5设置使用私钥登录关闭ssh的密码登录修改ssh默认端口的相关信息,请在本站查询。
本文标签: