CentOS之SSH安装与配置

sshlinux
    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。
     
    传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
     
    而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。
     
    系统及版本:CentOS release 5.3 (Final)
     
    安装SSH

    yum install ssh

启动SSH

    service sshd start

设置开机运行

    chkconfig sshd on

SSH相关配置文件的修改
     
      首先修改SSH的配置文件。如下:

    [[email protected] ~]# vi /etc/ssh/sshd_config

  ← 用vi打开SSH的配置文件
     
     
    #Protocol 2,1 ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接
     ↓
    Protocol 2 ← 修改后变为此状态,仅使用SSH2
     
    #ServerKeyBits 768 ← 找到这一行,将行首的“#”去掉,并将768改为1024
     ↓
    ServerKeyBits 1024 ← 修改后变为此状态,将ServerKey强度改为1024比特
     
    #PermitRootLogin yes  ← 找到这一行,将行首的“#”去掉,并将yes改为no
     ↓
    PermitRootLogin no  ← 修改后变为此状态,不允许用root进行登录
     
    #PasswordAuthentication yes ← 找到这一行,将yes改为no
     ↓
    PasswordAuthentication no ← 修改后变为此状态,不允许密码方式的登录
     
    #PermitEmptyPasswords no  ← 找到此行将行头的“#”删除,不允许空密码登录
     ↓
    PermitEmptyPasswords no  ← 修改后变为此状态,禁止空密码进行登录
     
      然后保存并退出。(vi保存退出的命令为ZZ)
     
      因为我们只想让SSH服务为管理系统提供方便,所以在不通过外网远程管理系统的情况下,只允许内网客户端通过SSH登录到服务器,以最大限度减少不安全因素。设置方法如下:

    [[email protected] ~]# vi /etc/hosts.deny

  ← 修改屏蔽规则,在文尾添加相应行
     
     
    #
    # hosts.deny This file describes the names of the hosts which are
    # *not* allowed to use the local INET services, as decided
    # by the ‘/usr/sbin/tcpd’ server.
    #
    # The portmap line is redundant, but it is left to remind you that
    # the new secure portmap uses hosts.deny and hosts.allow. In particular
    # you should know that NFS uses portmap!
    sshd: ALL  ← 添加这一行,屏蔽来自所有的SSH连接请求

    [[email protected] ~]# vi /etc/hosts.allow

  ← 修改允许规则,在文尾添加相应行
     
    #
    # hosts.allow This file describes the names of the hosts which are
    # allowed to use the local INET services, as decided
    # by the ‘/usr/sbin/tcpd’ server.
    #
     
    sshd: 192.168.0.  ← 添加这一行,只允许来自内网的SSH连接请求
     
     
     
    重启动SSH启动
      在修改完SSH的配置文件后,需要重新启动SSH服务才能使新的设置生效。

    [[email protected] ~]# /etc/rc.d/init.d/sshd restart

  ← 重新启动SSH服务器
     
     
    Stopping sshd:             [ OK ]
    Starting sshd:             [ OK ]  ← SSH服务器重新启动成功
     
      这时,在远程终端(自用PC等等)上,用SSH客户端软件以正常的密码的方式是无法登录服务器的。为了在客户能够登录到服务器,我们接下来建立SSH用的公钥与私钥,以用于客户端以“钥匙”的方式登录SSH服务器。
     
    SSH2的公钥与私钥的建立
      登录为一个一般用户,基于这个用户建立公钥与私钥。(这里以centospub用户为例)

    [[email protected] ~]# su – centospub

 ← 登录为一般用户centospub
     
     
    [centospub@sample ~]$ ssh-keygen -t rsa  ← 建立公钥与私钥
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/kaz/.ssh/id_rsa):  ← 钥匙的文件名,这里保持默认直接回车
    Created directory ‘/home/kaz/.ssh’
    Enter passphrase (empty for no passphrase):  ← 输入口令
    Enter same passphrase again:   ← 再次输入口令
    Your identification has been saved in /home/kaz/.ssh/id_rsa.
    Your public key has been saved in /home/kaz/.ssh/id_rsa.pub.
    The key fingerprint is:
    tf:rs:e3:7s:28:59:5s:93:fe:33:84:01:cj:65:3b:8e [email protected]
     
      然后确认一下公钥与密钥的建立,以及对应于客户端的一些处理。

    [[email protected] ~]$ cd ~/.ssh

  ← 进入用户SSH配置文件的目录

    [[email protected] .ssh]$ ls -l

  ← 列出文件
    total 16
    -rw——- 1 centospub centospub 951 Sep 4 19:22 id_rsa  ← 确认私钥已被建立
    -rw-r–r– 1 centospub centospub 241 Sep 4 19:22 id_rsa.pub  ← 确认公钥已被建立

    [[email protected] .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  ← 公钥内容输出到相应文件中

     
    [[email protected] .ssh]$ rm -f ~/.ssh/id_rsa.pub

  ← 删除原来的公钥文件

    [[email protected] .ssh]$ chmod 400 ~/.ssh/authorized_keys 

← 将新建立的公钥文件属性设置为400
     
      然后,将私钥通过安全的方式转移到欲通过SSH连接到服务器的PC上。这里,以通过3.5寸磁盘为介质为例:

   [email protected] .ssh]$ exit  

← 退出一般用户的登录(返回root的登录)

    [[email protected] ~]# mount /mnt/floppy/

  ← 加载软盘驱动器

   [[email protected] ~]# mv /home/centospub/.ssh/id_rsa /mnt/floppy/

 ← 将刚刚建立的私钥移动到软盘

    [[email protected] ~]# umount /mnt/floppy/

 ← 卸载软盘驱动器

时间: 2024-10-26 23:48:49

CentOS之SSH安装与配置的相关文章

CentOS 6.0安装和配置ssh服务

/* 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击.所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器.服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题.通过使用SS

MongoDB 3.2 在CentOS 上的安装和配置

MongoDB 3.2 在CentOS 上的安装和配置 2016-01-06 14:41:41 发布 您的评价:       0.0   收藏     0收藏 一.安装 编辑/etc/yum.repos.d/mongodb-org-3.2.repo [mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpg

如何在 CentOS 7 中安装、配置和安全加固 FTP 服务

步骤 1:安装 FTP 服务器 1. 安装 vsftpd 服务器很直接,只要在终端运行下面的命令. # yum install vsftpd 2. 安装完成后,服务先是被禁用的,因此我们需要手动启动,并设置在下次启动时自动启用: # systemctl start vsftpd # systemctl enable vsftpd 3. 接下来,为了允许从外部系统访问 FTP 服务,我们需要打开 FTP 守护进程监听的 21 端口: # firewall-cmd --zone=public --p

CentOS中vsftp安装与配置

1. 安装使用chkconfig --list来查看是否装有vsftpd服务:使用yum命令直接安装:yum -y install vsftpd然后为它创建日志文件:touch /var/log/vsftpd.log 2.建立ftp用户及主目录:    # mkdir /var/ftp    # useradd -d /var/ftp ftp 3. 配置vsftp服务编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:#vi /etc/vsftpd/vsftpd.conf

CentOS 下 redis 安装与配置

CentOS 下 redis 安装与配置 1.到官网上找到合适版本下载解压安装 Xml代码   [[email protected] src]# wget -c http://redis.googlecode.com/files/redis-2.4.7.tar.gz [[email protected] src]# tar -zxv -f redis-2.4.7.tar.gz [[email protected] src]# cd /usr/local/src/redis-2.4.7 [[ema

在CentOS 7中安装与配置Tomcat-8方法

安装前提 在CentOS 7中安装与配置JDK8 安装tomcat  apache-tomcat-8.0.14.tar.gz文件上传到/usr/local中执行以下操作: [root@localhost ~]# cd /usr/local [root@localhost ~]# tar -zxv -f apache-tomcat-8.0.14.tar.gz // 解压压缩包 [root@localhost ~]# rm -rf apache-tomcat-8.0.14.tar.gz // 删除压

Centos 7 DHCP 安装和配置

# Centos 7 DHCP 安装和配置 一.服务的三要素 : 安装-配置-启动 1.所以我们第一步首先安装程序 rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm ----安装DHCP软件包 2.修改DHCP的配置文件 rpm -ql dhcp | grep dhcpd.conf.example ---查找dhcp服务的配置模版文件 cp -rf /usr/share/doc/dhcp-4.2.5/dhcpd.conf.exa

KickStart安装CentOS,同时安装和配置hadoop

声明:这篇文章是前面是拾人牙慧,我是结合 http://www.111cn.net/sys/linux/59969.htm 和 http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html 两篇博客写的. 后面关于IP的部分是自己的 一:系统环境 实验平台:win7,VMware 12.0.0 build-2985596 要安装的系统:CentOS 6.7 64位 要安装的软件:hadoop 1.2.1,jav

CentOS 6.5 安装和配置 VNC!!!

实验环境 Server:CentOS 6.5 x86_64 Client: Windows 7 安装和配置VNC 1.     [[email protected] ~]# yum install tigervnc-server  -y 2.     修改vnc主配置文件 [[email protected]~]# vim /etc/sysconfig/vncservers 找到最后两行,去掉注释,修改为 VNCSERVERS="1:root"  ###第一个远程连接的账户为root