网上看到好多博客,方法繁琐难懂,为了力求简洁,本文主要给出具体的方法与命令,而不会一步步演示。
本文所述方法已经在自己的Vmware虚拟机中验证可行。
关闭防火墙
与Centos之前的版本不同的是,7.0关闭防火墙的命令如下(root用户输入):
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
执行完后查看防火墙状态:
如果还需要关闭SELINUX,可以通过vi /etc/selinux/config打开文件
将SELINUX=enforcing改为SELINUX=disabled更改主机名
有两种方式,命令如下:- hostname [主机名]
这种方面是临时生效,当主机重新启动后又会变回原来的名字 - hostnamectl set-hostname [主机名]
这种修改方式永久生效,重启不会改回来
- hostname [主机名]
SSH免密登录
以两台机器Host1、Host2为例:root用户下执行命令vi /etc/ssh/sshd_config
找到下面三行,去掉注释:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
这一步我自己测了下前面两个的#不去掉也可以免密登录。切换到普通用户下(su 用户名),两台机器分别执行命令:ssh-keygen -t rsa
一直按回车,执行完会生成私钥id_rsa、公钥id_rsa.pub、known_hosts三个文件
第二个红圈出为生成的文件所放路径。
将Host1的公钥给Host2,Host2的公钥给Host1
可以手动复制,也可以通过scp命令。这里介绍scp的方式
在 .ssh目录下:
输入命令:scp id_rsa.pub 用户名@ip:文件地址
命令示例如下:
其中文件authorized_keys是通过此命令生成的。
此命令可以将Host1的公钥拷贝到Host2的authorized_keys文件中。
同理还需要将Host2的公钥拷贝到Host1的authorized_keys文件中。修改文件权限
chmod 700 .ssh
chmod 600 .ssh/authorized_keys (本人测试此权限7.0中按默认值也可)- 实现SSH免密登录