这篇文章写SSH配置思路很清楚,虽然还没有试,但是还是被这清晰的思路震惊了。
自己问了自己介个问题,记录一下答案。
1,为什么新建用户?
ssh为了安全期间不建议使用Root用户,所以使用root用户就比较麻烦。
2,为什么要修改配置文件?
修改的意思是打开SSH的公钥认证。
3,为什么要修改用户名?
因为在集群中同样的服务器用户名大都会相同,登陆到不同的机器效果就不太容易区分。
4,最好关闭关闭防火墙,不然系统经常会出现各种异常。
CentOS7.2配置SSH
作者 yangx1 关注
2016.08.22 14:27* 字数 488 阅读 758 评论 0 喜欢 0
1.环境
Linux操作系统:CentOS 7.2 JDK:jdk-7u79-linux-x64 虚拟机:VMware 12
2.创建用户
su root # 以 root 用户登录
useradd -m hadoop -s /bin/bash # 创建新用户hadoop
passwd hadoop #修改密码
vi sudo #hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题
hadoop ALL=(ALL) ALL
最后ESC :wq保存
3.配置网络
su hadoop #切换为hadoop用户
cd /etc/sysconfig/network-scripts
ls
ifcfg-eno16777728 ifdown-ppp ifup-ib ifup-Team
ifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort
...
我的网卡是ifcfg-eno16777728,可能有所不同
可以使用ifconfig确定自己的网卡
vi ifcfg-eno16777728
配置IP
我使用的是VMware NAT方式 (注:默认网关是GATEWAY="192.168.92.2")
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777728"
UUID="3b3d653d-81c2-44e6-afb2-b678f111a783"
DEVICE="eno16777728"
ONBOOT="yes"
IPADDR="192.168.92.101"
PREFIX="24"
GATEWAY="192.168.92.2"
DNS1="114.114.114.114"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"
ESC :wq保存,重启
sudo /etc/init.d/network restart
修改hosts文件,增加下面行
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.92.101 master
192.168.92.102 slave2
192.168.92.103 salve3
将虚拟机克隆一下(注:创建完整克隆),重复以上步骤配置一下(我配的ip:192.168.92.101、192.168.92.102、192.168.92.103)
4.安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),一般情况下,CentOS 默认已安装了 SSH client、SSH server,打开终端执行如下命令进行检验:
rpm -qa | grep ssh
若需要安装,则可以通过 yum 进行安装
sudo yum install openssh-clients
sudo yum install openssh-server
此时会有如下提示(SSH首次登陆提示),输入 yes 。
尝试登录
ssh localhost
ssh 登陆是有时会出错可以参考解决
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
此时再用 ssh localhost(配置成功之后有时不一定能成功登录,最好重启一下ssh服务)
在登陆设置的过程中如果出现问题,最好通过tailf /var/log/secure命令查看ssh登陆过程中的错误日志,便于定位错误和解决问题(这个方法比较管用)。
命令,无需输入密码就可以直接登录了(每台虚拟机上重复以上步骤)
这只是本机访问,不同电脑之间登录如下:
sudo vi /etc/ssh/sshd_config
大概在98行 把#去掉,ESC:wq,再执行下面命令
sudo service sshd restart
然后把各自虚拟机上生成的id_rsa.pub拷贝到其他电脑上
#192.168.92.101
hadoop@192.168.92.101:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.102:~/.ssh/master.pub
hadoop@192.168.92.101:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.103:~/.ssh/master.pub
#192.168.92.102
hadoop@192.168.92.102:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.101:~/.ssh/slave02.pub
hadoop@192.168.92.102:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.103:~/.ssh/slave02.pub
#192.168.92.103
hadoop@192.168.92.103:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.101:~/.ssh/slave03.pub
hadoop@192.168.92.103:scp ~/.ssh/id_rsa.pub hadoop@192.168.92.102:~/.ssh/slave03.pub
Paste_Image.png
cat slave2.pub >> authorized_keys
cat slave3.pub >> authorized_keys
重复以上步骤(注意自己操作的主机,文件名)
修改主机名:
sudo hostnamectl --static set-hostname master
sudo hostnamectl --static set-hostname slave2
sudo hostnamectl --static set-hostname slave3
重新连接就可以看到新的主机名了
5.测试
ssh master
ssh slave02
ssh slave03
此时会有如下提示(SSH首次登陆提示),输入 yes 。
end