Ubuntu17.04配置SSH服务

ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全,现在介绍一下如何在Ubuntu 17.04上安装和配置ssh.

方法和步骤

一、配置ssh服务

1、更新源列表

打开”终端窗口”terminal,输入”sudo apt-get update”–>回车–>”输入当前登录用户的管理员密码”–>回车,就可以了。更新可能需要等待一两分钟。

2、安装ssh

在terminal中,输入”sudo apt-get install openssh-server”–>回车,可能出现以下问题:
Ubuntu17.04配置SSH服务_第1张图片
这时,需要在源列表中更新阿里源。

deb http://mirrors.aliyun.com/ubuntu/ zesty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ zesty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ zesty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ zesty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ zesty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ zesty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ zesty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ zesty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ zesty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ zesty-updates main multiverse restricted universe 

在terminal中输入命令:sudo nano /etc/apt/sources.list,把上面的源加到list末尾,保存退出。

然后更新操作:sudo apt-get update

更新完后,输入:sudo apt-get install openssh-server,回车输入”y”–>回车–>安装完成。

3、查看ssh服务是否启动

输入:sudo ps -e |grep ssh,–>回车–>有sshd,说明ssh服务已经启动,如果没有启动,输入:sudo service ssh start,–>回车–>ssh服务就会启动。

4、使用gedit修改配置文件”/etc/ssh/sshd_config”

输入:sudo gedit /etc/ssh/sshd_config,回车–>把配置文件中的”PermitRootLoginwithout-password”加一个”#”号,把它注释掉–>再增加一句”PermitRootLogin yes”–>保存,修改成功。

5、 查看Ubuntu 17.04的IP地址

打开”终端窗口”,输入”ip addr”–>回车–>就可以查看到IP地址。
Ubuntu17.04配置SSH服务_第2张图片

6、连接测试

在另外的机器上输入 ssh 192.168.. 回车
输入密码后即可连接。

二、配置SSH免密码登录

1、查找下用户目录下有没有.ssh文件夹。这个文件夹本身是个隐藏文件夹。安装SSH的时候应该默认会在安装用户的个人目录下创建改文件,如果没有就自己手动创建一个。至于它是用来干嘛的?SSH使用的是公钥加密。这个文件夹就是用来存放公钥和私钥两个文件的文件夹。
Ubuntu17.04配置SSH服务_第3张图片
2、接下来就是生成密钥了。这里用ssh_keygen命令生成密钥。-t表示加密类型,ssh支持rsa(目前流行的公钥加密算法)/dsa(digital signature algorithm数字签名算法)。-f表示公钥和私钥文件保存的路径。可以看到.ssh文件夹下生成了id_dsa(私钥)和id_dsa.pub(公钥)两个文件。

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

Ubuntu17.04配置SSH服务_第4张图片
3、添加公钥到认证的公钥证书列表中

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

4、尝试用SSH连接本地服务器
Ubuntu17.04配置SSH服务_第5张图片

三、配置 ssh 无密码访问集群机器

1、在三台机器中分别执行以下两个命令,以便无密码登录到 localhost。
先安装ssh和openssh-server

sudo apt-get install 
sudo apt-get install openssh-server 
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

2、将 slave1 和 slave2 的公钥 id_dsa.pub 传给 master。

scp ~/.ssh/id_dsa.pub ubuntu@master:/home/hadoop/.ssh/id_dsa.pub.slave1 
scp ~/.ssh/id_dsa.pub ubuntu@master:/home/hadoop/.ssh/id_dsa.pub.slave2

3、将 slave1 和 slave2的公钥信息追加到 master 的 authorized_keys文件中。

cat id_dsa.pub.slave1 >> authorized_keys 
cat id_dsa.pub.slave2 >> authorized_keys

4、将 master 的公钥信息 authorized_keys 复制到 slave1 和 slave2 的 .ssh 目录下。

scp authorized_keys ubuntu@slave1:/home/hadoop/.ssh/authorized_keys 
scp authorized_keys ubuntu@slave2:/home/hadoop/.ssh/authorized_keys

5、分别 ssh 到 slave1 和 slave2
可以看到从 master 已经不需要密码就可以登录到 slave1 和 slave 2。slave1 和 slave2 也无需密码访问另外两台机器。

你可能感兴趣的:(环境搭建)