CentOS7.2配置SSH

这篇文章写SSH配置思路很清楚,虽然还没有试,但是还是被这清晰的思路震惊了。

自己问了自己介个问题,记录一下答案。
1,为什么新建用户?
ssh为了安全期间不建议使用Root用户,所以使用root用户就比较麻烦。
2,为什么要修改配置文件?
修改的意思是打开SSH的公钥认证。
3,为什么要修改用户名?
因为在集群中同样的服务器用户名大都会相同,登陆到不同的机器效果就不太容易区分。
4,最好关闭关闭防火墙,不然系统经常会出现各种异常。

CentOS7.2配置SSH

CentOS7.2配置SSH_第1张图片 
作者  yangx1  关注
2016.08.22 14:27*  字数 488  阅读 758 评论 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

CentOS7.2配置SSH_第2张图片


最后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 登陆是有时会出错可以参考http://blog.csdn.net/weibin_6388/article/details/77528940解决

但这样登陆是需要每次输入密码的,我们需要配置成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
CentOS7.2配置SSH_第3张图片


大概在98行 把#去掉,ESC:wq,再执行下面命令

sudo service sshd restart

然后把各自虚拟机上生成的id_rsa.pub拷贝到其他电脑上

#192.168.92.101
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/master.pub 
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/master.pub

#192.168.92.102
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/slave02.pub 
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/slave02.pub 

#192.168.92.103
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/slave03.pub 
[email protected]:scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/slave03.pub
CentOS7.2配置SSH_第4张图片
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 。

CentOS7.2配置SSH_第5张图片

end


你可能感兴趣的:(部署)