CentOS配置SSH免密码登录
2018-04-07 16:11
197 查看
SSH 为 Secure Shell 的缩写,是为建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,目前Linux中使用的使SSH的升级版SSH2协议。
① ssh为固定的命令,意为使用root用户通过SSH协议连接到192.168.100.102
② 第一次建立SSH连接,要输入yes,回车后继续
③ 输入node-2,即192.168.100.102这台Linux的root密码,输入完成回车继续,如果密码输入错误,需要重新输入
④ 密码输入正确,就登录到了node-2上
如果想要退回到node-1这台Linux上,就在命令行上输入exit,就退出node-2,返回到node-1上了
还有一种常见场景就是通过SSH协议,将一台Linux上的文件拷贝到另外一台Linux上,例如:将node-1上的一个文件通过网络拷贝到node-2上,需要使用scp命令,即通过SSH网络协议的远程拷贝。
上面的命令是将node-1上/etc目录下的hosts文件拷贝到IP地址为192.168.100.102即的node-2的/etc目录下,如果node-2的/etc目录下有相同名称的文件,那么就覆盖原来的文件
① 输入scp命令进行远程拷贝
② 输入192.168.100.102这台Linux root的密码,密码正确就进行拷贝
但是如果以后频繁的进行SSH登录,远程拷贝,在一台Linux上给另外一台Linux发送SSH指令,每一次都要输入对应Linux的命令就非常的麻烦,为了更加安全和方便,所以可以建立一种信任机制,就是让特定的机器、特定的用户可以不用输入密码就可以登录、远程拷贝、执行SSH命令了。这种信任机制可以通过配置SSH免密码登录实现
① 输入生成密码的命令,ssh-keygen命令是生成秘钥,-t是加密类型,rsa是一种加密方式
② 回车继续
③ 回车继续
④ 回车完成
配置完成后,会在当前用户的家目录的.ssh目录生成两个文件,一个是id_rsa即私钥,另一个是id_rsa.pub即公钥。
使用命令查看一下公钥中的内容
① ssh-copy-id命令的功能就是将当前机器的公钥拷贝到后面制定的192.168.100.102的机器上
② 输入192.168.100.102这台机器root的密码,密码正确就执行拷贝
① 在使用ssh命令登录到192.168.100.102这台Linux上,发现不用再输入密码了,非常方便,说明信任机制已经建立
② 查看node-2这台Linux家目录的.ssh目录
③ 发现多了一个authorized_keys文件
查看这个文件的内容,发现有一条数据与node-1上的公钥一样
总结:配置SSH免密码登录,首先在第一台机器上生成一对密钥,然后将公钥拷贝给要免登陆的机器上,但是免登陆是单向的,如果想要配置双向免登陆,还有在第二台机器上生成一对密钥,然后将第二台机器的公钥拷贝的第一台,这样就可以双向免密码登录了。除此之外,如果想要免密码登录到自己的机器上,还有将自己的公钥拷贝给自己,也要建立信任机制!
如有疑问或者想获取更多资料请加QQ群:742379320进行交流
为什么要配置SSH免密码登录
在使用Linux时,通常会在一台Linux上通过网络SSH到另外一台机器上,想要登录到另外一台Linux机器上进行操作操作就要正确的输入其用户名和密码,才能登录!例如我有两台CentOS,一台主机名是node-1,其IP地址为192.168.100.101,另外一台是node-2,其IP地址是192.168.100.102,现在想要在node-1上通过SSH登录到node-2上,要在node-1上输入下面的命令ssh root@192.168.100.102
① ssh为固定的命令,意为使用root用户通过SSH协议连接到192.168.100.102
② 第一次建立SSH连接,要输入yes,回车后继续
③ 输入node-2,即192.168.100.102这台Linux的root密码,输入完成回车继续,如果密码输入错误,需要重新输入
④ 密码输入正确,就登录到了node-2上
如果想要退回到node-1这台Linux上,就在命令行上输入exit,就退出node-2,返回到node-1上了
还有一种常见场景就是通过SSH协议,将一台Linux上的文件拷贝到另外一台Linux上,例如:将node-1上的一个文件通过网络拷贝到node-2上,需要使用scp命令,即通过SSH网络协议的远程拷贝。
scp /etc/hosts root@192.168.100.102:/etc
上面的命令是将node-1上/etc目录下的hosts文件拷贝到IP地址为192.168.100.102即的node-2的/etc目录下,如果node-2的/etc目录下有相同名称的文件,那么就覆盖原来的文件
① 输入scp命令进行远程拷贝
② 输入192.168.100.102这台Linux root的密码,密码正确就进行拷贝
但是如果以后频繁的进行SSH登录,远程拷贝,在一台Linux上给另外一台Linux发送SSH指令,每一次都要输入对应Linux的命令就非常的麻烦,为了更加安全和方便,所以可以建立一种信任机制,就是让特定的机器、特定的用户可以不用输入密码就可以登录、远程拷贝、执行SSH命令了。这种信任机制可以通过配置SSH免密码登录实现
配置SSH免密码登录过程
1. 在想要免密码登录到其他Linux的机器上生成一对秘钥,一个公钥,一个私约,例如:node-1想要免登陆到node-2上,那么就先要在node-1上生成一对秘钥
ssh-keygen -t rsa
① 输入生成密码的命令,ssh-keygen命令是生成秘钥,-t是加密类型,rsa是一种加密方式
② 回车继续
③ 回车继续
④ 回车完成
配置完成后,会在当前用户的家目录的.ssh目录生成两个文件,一个是id_rsa即私钥,另一个是id_rsa.pub即公钥。
cat ~/.ssh/id_rsa.pub
使用命令查看一下公钥中的内容
2. 将公钥拷贝到想要远程登录的Linux上,机拷贝到node-2上
ssh-copy-id root@192.168.100.102
① ssh-copy-id命令的功能就是将当前机器的公钥拷贝到后面制定的192.168.100.102的机器上
② 输入192.168.100.102这台机器root的密码,密码正确就执行拷贝
3. 登录到192.168.100.102即node-2上查看公钥的内容是否被拷贝过来
ssh root@192.168.100.102
ls -l ~/.ssh/
① 在使用ssh命令登录到192.168.100.102这台Linux上,发现不用再输入密码了,非常方便,说明信任机制已经建立
② 查看node-2这台Linux家目录的.ssh目录
③ 发现多了一个authorized_keys文件
查看这个文件的内容,发现有一条数据与node-1上的公钥一样
总结:配置SSH免密码登录,首先在第一台机器上生成一对密钥,然后将公钥拷贝给要免登陆的机器上,但是免登陆是单向的,如果想要配置双向免登陆,还有在第二台机器上生成一对密钥,然后将第二台机器的公钥拷贝的第一台,这样就可以双向免密码登录了。除此之外,如果想要免密码登录到自己的机器上,还有将自己的公钥拷贝给自己,也要建立信任机制!
如有疑问或者想获取更多资料请加QQ群:742379320进行交流
相关文章推荐
- CentOS 7 SSH配置免密码登录
- CentOS服务器配置SSH免密码登录
- CentOS配置SSH免密码登录后,仍提示输入密码
- CentOS 6.5中SSH免密码登录配置教程
- centos配置ssh免密码登录
- 在centos7下配置ssh无密码登录
- CentOS配置ssh无密码登录的注意点
- CentOS 配置集群机器之间SSH免密码登录
- Hadoop之——CentOS配置ssh无密码登录注意事项
- CentOS下SSH无密码登录的配置
- CentOS配置免密码SSH登录
- centos配置ssh免密码登录后仍要输入密码的解决方法
- CentOS SSH无密码登录原理,配置以及常见问题
- Centos配置ssh免密码互信登录
- Centos6.5 中 ssh免密码登录配置
- CentOS配置SSH免密码登录后,仍提示输入密码
- centos6.5配置SSH免密码登录
- centos配置ssh免密码登录后仍要输入密码的解决方法
- CentOS配置ssh无密码登录
- Centos6.5之ssh免密码登录配置