SSHD服务安装、配置、使用

本文介绍了SSH协议的基本概念,包括其安全特性、安装配置方法以及如何使用SSH进行远程连接。此外,还详细讲解了SSHD配置文件的各项参数设置,帮助读者更好地理解和使用SSH服务。

SSHD服务
介绍:SSH 协议:安全外壳协议。为 Secure Shell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议。

作用
sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件
相比较之前用telnet方式来传输文件要安全很多,因为telnet使用明文传输,是加密传输。

SSH服务安装
这里用yum安装
[root@compy ~]# yum -y install openssh openssh-clients openssh-server openssh-askpass

SSH 配置文件
SSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
ssh_config 为客户端配置文件
sshd_config 为服务器端配置文件

服务启动关闭脚本

[root@compy ~]# cd /etc/ssh
[root@compy ssh]# pwd
/etc/ssh
[root@compy ssh]# service sshd restart

开机启动服务

[root@compy ~]# chkconfig sshd on
[root@compy ~]# chkconfig --list sshd
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off

如何使用ssh来远程连接主机
方法一
1、ssh [远程主机用户名] @[远程服务器主机名或IP地址]
如果用root进程登录远程主
[root@compy ssh]# ssh 192.168.100.156
普通用户:

[root@compy ~]# useradd compy && echo 123456 | passwd --stdin compy
[root@compy ssh]# ssh compy@192.168.100.156

第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连
接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的**$HOME/.ssh/known_hosts** 文件中,下次再进行登录时因为保存有该主机信息就不会再提示了

[root@compy ~]# cat /root/.ssh/known_hosts 
192.168.100.155 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7B2ow9G9mtjXOdFf0OaRGeJDgAjENY99fHd4Z2R1J7rJH0qpcCVGnIbyAGlZml6XYoUZ8yJunOgA5wh7wKCRUqlT2Xwo5LQ7GH21Q2oiDkeiGFbn0woshZJwsCxpBbcmfzT63RXdHKlBny5pC1rINmlzOnXzvSk/1Wxc8eNn8fMMbP4u2yn7sp9U27Gm5iHkGcIoyPqhP6G5oQ/LoRQFCzhiPQXFf8a8twYDy4jVBt1FJpFJiHBZdiXVlujTCucr0TFXw8UHt9Dq7ZRZrqd74ASz8f5Kp7XdagumpDgb1/DqAY6m/NLdT9qhG4TnhJwfIcjv+EI30raVgcMEYweM9w==

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

方法二
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]
例:ssh -l compy 192.168.100.156
-l login_name

SSHD配置文件及安全配置
/etc/ssh/sshd_config 配置文件
Port 22
设置sshd 监听端口号

注释: SSH 预设使用 22 这个port,也可以使用多个port,即重复使用 port 这个设定项目! 例如想要开放 sshd
端口为 22和 2200 ,则多加一行内容为: Port 2200 即可 然后重新启动 sshd 这样就好了。 建议大家修改 port
number 为其它端口。防止别人暴力破解。

修改sshd服务默认监听的端口为2200

[root@compy ~]# vim /etc/ssh/sshd_config
改:
Port 22
为:
Port 2200

[root@compy ssh]# service sshd restart 				   #重启服务
[root@compy ~]# netstat -tlunp | grep sshd				#查看端口
tcp        0      0 0.0.0.0:2200               0.0.0.0:*                   LISTEN      4139/sshd           
tcp        0      0 :::2200                     :::*                        LISTEN      4139/sshd    

修改完端口默认端口后,登录方法:
[root@compy ~]# ssh -p 2200 192.168.100.156

ListenAddress 0.0.0.0

设置sshd 服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址 比如192.168.100.155这个机器只允许100.155来远程登录,那么可以设置
ListenAddress 192.168.100.155

Protocol 2

选择的 SSH 协议版本,可以是 1 也可以是 2 ,CentOS 5.x 预设是仅支援 V2。 安全考虑,设置为最新的协议版本

SyslogFacility AUTHPRIV

当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV。

登录系统的默认日志存/var/log/secure

LogLevel INFO

登录记录的等级!INFO级别以上。

LoginGraceTime 2m

当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,
在多久时间内没有成功连上 SSH server
就强迫断线!若无单位则默认时间为秒! 可以根据实际情况来修改实际

PermitRootLogin yes

是否允许 root 登入!预设是允许的,但是建议设定成 no !
真实的生产环境服务器,是不允许root账号登陆的!!!

PasswordAuthentication yes

密码验证当然是需要的!所以这里写 yes,也可以设置为no
在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆

PermitEmptyPasswords no

若上面那一项如果设定为 yes 的话,这一项就最好设定为 no
这个项目在是否允许以空的密码登入!当然不许!

PrintMotd yes

登入后是否显示出一些信息呢?例如上次登入的时间、地点等等,预设是 yes
亦即是打印出 /etc/motd 这个文档的内容

给sshd服务添加一些警告信息```
[root@compy ~]# cat /etc/motd
[root@compy ~]# echo ‘Warning !
From now on, all of your operation has been 4record!’> /etc/motd


**PrintLastLog yes**

> 显示上次登入的信息!预设也是 yes!

**UseDNS yes**

> 一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名 
> 不过如果是在内网互连,这项目设定为 no会让联机速度比较快


SSHD服务安装、配置、使用编辑完毕!!!! 感谢支持!!!
------------------------------
重新配置sshd服务可按以下步骤进行: ### 1. 启动、停止和重启服务 可以使用以下命令对sshd服务进行启动、停止和重启操作: ```bash # 启动sshd服务 cygrunsrv --start sshd # 停止sshd服务 cygrunsrv --stop sshd # 重启sshd服务 cygrunsrv --restart sshd ``` 在进行配置修改前,通常先停止服务,修改完成后再启动或重启服务,以确保配置生效[^1]。 ### 2. 客户端链接配置 若要恢复客户端链接服务器,可将`id_rsa`中的钥匙复制一份到`authorized_keys`中,使客户可以再次链接,命令如下: ```bash cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys ``` 这样客户端就能使用对应的私钥进行身份验证并连接到服务器[^2]。 ### 3. 基于Linux环境的安全配置 以CentOS 7系统为例,可通过修改`/etc/ssh/sshd_config`文件来提升SSH安全性,示例脚本如下: ```bash #!/bin/bash #功能描述(Description):修改SSHD配置文件,提升SSH安全性. config_file="/etc/ssh/sshd_config" PORT=12345 #将默认端口号修改为自定义端口号. if grep -q "^Port" $config_file; then sed -i "/^Port/c Port $PORT" $config_file else echo "Port $PORT" >> $config_file fi #禁止root远程登陆SSH服务器. if grep -q "^PermitRootLogin" $config_file; then sed -i '/^PermitRootLogin/s/yes/no/' $config_file else sed -i '$a PermitRootLogin no' $config_file fi #禁止使用密码远程登陆SSH服务器. if grep -q "^PasswordAuthentication" $config_file; then sed -i '/^PasswordAuthentication/s/yes/no/' $config_file else sed -i '$a PasswordAuthentication no' $config_file fi #禁止X11图形转发功能. if grep -q "^X11Forwarding" $config_file; then sed -i '/^X11Forwarding/s/yes/no/' $config_file else sed -i '$a X11Forwarding no' $config_file fi #禁止DNS查询. if grep -q "^UseDNS" $config_file; then sed -i '/^UseDNS/s/yes/no/' $config_file else sed -i '$a UseDNS no' $config_file fi ``` 该脚本主要完成了修改默认端口、禁止root远程登录、禁止密码登录、禁止X11图形转发和禁止DNS查询等安全配置。修改完成后,需重启sshd服务使配置生效[^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值