RHEL/CentOS6.6SSHD 服务安装、配置、使用
SSHD 安装
配置文件位置,端口
服务启动关闭的脚本
此服务的使用方法
修改配置文件,实战举例
一、SSHD服务安装、配置、使用
SSHD 服务
介绍:SSH 协议:安全外壳协议。为 Secure Shell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议。
作用:sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件
相比较之前用telnet方式来传输文件要安全很多,因为telnet使用明文传输,是加密传输。
服务安装:
需要安装OpenSSH 四个安装包:
OpenSSH 软件包,提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
安装包:
OpenSSH 服务需要4 个软件包
openssh-5.3p1-114.el6_7.x86_64 :包含OpenSSH服务器及客户端需要的核心文件
openssh-clients-5.3p1-114.el6_7.x86_64 :OpenSSH客户端软件包
openssh-server-5.3p1-114.el6_7.x86_64 :OpenSSH服务器软件包
openssh-askpass-5.3p1-114.el6_7.x86_64 :支持对话框窗口的显示,是一个基于X 系统的密码
诊断工具
[root@openstackPackages]# ls /media/cdrom/Packages/openssh*
/media/cdrom/Packages/openssh -5.3p1-104.el6.x86_64.rpm
/media/cdrom/Packages/openssh-askpass-5.3p1-104.el6.x86_64.rpm
/media/cdrom/Packages/openssh-clients-5.3p1-104.el6.x86_64.rpm
/media/cdrom/Packages/openssh-server-5.3p1-104.el6.x86_64.rpm
找到软件包存放位置之后,下面我们来安装软件包:
安装方法有两种:
1 、配置yum源,通过
yuminstall openssh openssh-clients openssh-server openssh-askpass -y
来安装
前提:系统以及配置好yum源,(本地源or网络源) 推荐用yum来安装
设置开机自动挂载系统镜像文件
echo“/dev/cdrom /media/cdrom iso9660 defaults 0 0”>>//etc/fstab
你的光驱设备 挂载点 挂载格式 默认 默认
2 、本地直接安装rpm包文件:
rpm–ivh /media/cdrom/Packages/openssh*.rpm
可能需要解决依赖关系
确认软件包是否已经安装:
rpm-qa | grep openssh
openssh-askpass-5.3p1-114.el6_7.x86_64
openssh-clients-5.3p1-114.el6_7.x86_64
openssh-5.3p1-114.el6_7.x86_64
openssh-server-5.3p1-114.el6_7.x86_64
查看软件安装生产的文件:
rpm-ql openssh
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ssh-keysign
/usr/share/doc/openssh-5.3p1
OpenSSH 配置文件
OpenSSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
ssh_config 为客户端配置文件
sshd_config 为服务器端配置文件
服务启动关闭脚本:
方法1:
[root@openstackssh]# service sshd restart/stop/start/status
方法2:
[root@openstackssh]# /etc/init.d/sshd restart/stop/start/status
开机启动服务:
[root@openstack~]# chkconfig sshd on
[root@openstack~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如何使用ssh来远程连接主机:
方法一、
1 、ssh [远程主机用户名] @[远程服务器主机名或IP地址]
如果用root进程登录远程主机可以这样:
[root@openstackssh]# ssh 192.168.137.160
普通用户:
[root@openstack ~]# useradd andyliu && echo123456 | passwd --stdin andyliu
Changing password for user andyliu.
passwd: all authentication tokens updatedsuccessfully.
[root@RHEL7 ssh]# ssh andy@192.168.137.160
andy@192.168.137.160's password:
Last login: Fri Aug 26 14:30:09 2016 from192.168.137.163
[andy@openstack ~]$
第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连
接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了
[root@RHEL7log]# cat ~/.ssh/known_hosts
192.168.137.160ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAvlQeUC7sodqZIdYgDlCfp7LyWu7luyr/rr7XRk8b2ljw+eS/Bh1XI9BoE2CmDFnp1kbIbioet0p/UPtKZJuNWI7mfgsMk4tjgbRcGqbHZTfbUPdAb/2e1/rNqEwTiK5n09P0aSMg9VpqNQlYf8+M3W8DeemXO1PxW+s03iU5BgPxVHiZn4QZdwtyW5H5baA89EIRoNusfD1dP107BdfLapLmjR1pKeNDLQ8s5e5yvNsQO3LH0WkGKhJfMyiVJqB1hfMYrOXBStpldQNB+vwMHJeM/aNUvhU6E7d+cjv4lb39u/fYQLiVe/hw/02w6Eg0NsQ7e99/Thnry8nhVFPCW
RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
方法二、
ssh-l [ 远程主机用户名] [远程服务器主机名或IP 地址]
例: [root@RHEL7 ssh]# ssh -l andy 192.168.137.160
andy@192.168.137.160's password:
Last login: Fri Aug 26 14:26:44 2016 from192.168.137.163
-l login_name
3 、SSHD配置文件及安全配置:
注:参数前面有#,表示是默认值。 当然#号也表示注示。
/etc/ssh/sshd_config 配置文件
Port22
设置sshd 监听端口号
# SSH 预设使用 22 这个port,也可以使用多个port,即重复使用 port 这个设定项目!
# 例如想要开放 sshd 端口为 22和 222 ,则多加一行内容为: Port 222 即可
# 然后重新启动 sshd 这样就好了。 建议大家修改 port number 为其它端口。防止别人暴力破解。
例:修改sshd服务默认监听的端口为222
vim/etc/ssh/sshd_config
改:
Port22
为:
Port222
[root@openstackssh]# service sshd restart
测:
[root@openstack~]# netstat -tluntp | grep sshd
tcp 0 0127.0.0.1:6010 0.0.0.0:* LISTEN 2309/sshd
tcp 0 00.0.0.0:220 0.0.0.0:* LISTEN 2729/sshd
tcp 0 0::1:6010 :::* LISTEN 2309/sshd
tcp 0 0:::220 :::* LISTEN 2729/sshd
修改完端口默认端口后,登录方法:
[root@RHEL7 ssh]# ssh andy@192.168.137.160 -p 220
andy@192.168.137.160's password:
Last login: Fri Aug 26 14:34:09 2016 from192.168.137.163
[andy@openstack ~]$
ListenAddress0.0.0.0
设置sshd 服务器绑定的IP 地址,0.0.0.0表示侦听所有地址
比如192.168.0.63 这个机器只允许0.64来远程登录,那么可以设置
ListenAddress192.168.137.160
Protocol2
# 选择的 SSH 协议版本,可以是 1 也可以是 2 ,CentOS 5.x 预设是仅支援 V2。
安全考虑,设置为最新的协议版本
#HostKey /etc/ssh/ssh_host_key
设置包含计算机私人密匙的文件
SyslogFacility AUTHPRIV
# 当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV。
登录系统的默认日志存放在哪?
sshd 服务日志存放在: /var/log/secure 。
例: 为什么sshd配置文件中没有指定日志,但日志却存放在了: /var/log/secure ?
[root@openstack ssh]# vim /etc/rsyslog.conf 查看:
# The authpriv file has restricted access.
authpriv.* /var/log/secure
#LogLevel INFO
# 登录记录的等级!INFO级别以上。
安全调优的重点:
LoginGraceTime2m #grace 优雅
# 当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,
# 在多久时间内没有成功连上 SSH server 就强迫断线!若无单位则默认时间为秒!
可以根据实际情况来修改实际
#PermitRootLogin yes
# 是否允许root 登入!预设是允许的,但是建议设定成 no !
真实的生产环境服务器,是不允许root账号登陆的!!!
PasswordAuthenticationyes
# 密码验证当然是需要的!所以这里写 yes,也可以设置为no
# 在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆
#PermitEmptyPasswords no
# 若上面那一项如果设定为 yes 的话,这一项就最好设定为 no ,
# 这个项目在是否允许以空的密码登入!当然不许!
#PrintMotd yes
# 登入后是否显示出一些信息呢?例如上次登入的时间、地点等等,预设是 yes
# 亦即是打印出 /etc/motd 这个文档的内容。
例:给sshd服务添加一些警告信息
[root@openstack~]# cat /etc/motd
[root@openstack~]# echo 'Warning ! From now on, all of your operation has been 4record!'>/etc/motd
测试:
[root@RHEL7log]# ssh andy@192.168.137.160
andy@192.168.137.160'spassword:
Lastlogin: Fri Aug 26 14:41:47 2016 from 192.168.137.163
Warning! From now on, all of your operation has been record!
警告!从现在开始,你所有的操作已经被记录!
# PrintLastLog yes
# 显示上次登入的信息!预设也是 yes !
例:
[root@RHEL7log]# ssh andy@192.168.137.160
Lastlogin: Fri Aug 26 14:41:47 2016 from 192.168.137.163 # 就是这个信息
#UseDNS yes
# 一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名
# 不过如果是在内网互连,这项目设定为 no 会让联机速度比较快。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com