centos中使用ssh怎样使用

centos中使用ssh怎样使用,第1张

ssh是linux系统中一个常用的远程管理工具了,比ftp要强大的我,下面小编来给大家在centos中ssh配置方法吧,希望此教程对各位同学会有所帮助。
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。

统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人
(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据
传给真正的服务器。
而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗。
系统及版本:CentOS release 53 (Final)
安装SSH
yum install ssh
启动SSH
service sshd start
设置开机运行
chkconfig sshd on
SSH相关配置文件的修改
首先修改SSH的配置文件。如下:
[root@sample ~]# 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登录到服务器,以最大限度减少不安全因素。设置方法如下:
[root@sample ~]# vi /etc/hostsdeny  ← 修改屏蔽规则,在文尾添加相应行
#
# hostsdeny 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 hostsdeny and hostsallow In particular
# you should know that NFS uses portmap!
sshd: ALL  ← 添加这一行,屏蔽来自所有的SSH连接请求
[root@sample ~]# vi /etc/hostsallow  ← 修改允许规则,在文尾添加相应行
#
# hostsallow 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: 1921680  ← 添加这一行,只允许来自内网的SSH连接请求
netstat
-tunlp 查看正在运行的端口号!vim /etc/ssh/sshd_config这个文件,这里把#Port
22这个字段前面的#去掉,再把22改成自己要设的端口就行了,然后重启ssh服务。/etc/initd/sshd
restart假如要限制SSH登陆的IP,那么可以如下做:修改/etc/hostsdeny,在其中加入
sshd:ALL修改:/etc/hostsallow,在其中进行如下设置:sshd:192168024这样就可以限制只有
1921680241的IP通过SSH登陆上LINUX机器了
SSH远程连接配置
1配置IP
#setup
选择 NetWork configuration
选择 Device configuration
选择 eth0
Use DHCP [] 改 为 [ ] 用空格键将去除
Static IP 输入 1921681112
Netmask 输入 2552552550
Default gateway IP 输入 19216811
Primary DNS Server 输入 19216811
2改SSH端口
vim /etc/ssh/sshd_config
#Port 22
去#注释 改 22 为 2200(2000以上)
3重启SSH
/etc/initd/sshd restart
4重启网络
service network restart

/etc/initd/network restart
5查看端口
netstat -lnp|more
6关防火墙
/etc/initd/iptables stop
启动SSH
/etc/initd/sshd start
至此SSH已经可以连接了
输入连接IP
配置相关参数
选择utf-8支持中文显示
自动输入登录用户root
输入用户名后就可以连接到服务器
但是目前我们的SSH连接还需要输入密码,下面将介绍使用密钥进行连接,免去了输入密码的烦恼:
1、在被管理机上生产密钥
[root@localhost ~]# mkdir /root/ssh
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair
Enter file in which to save the key (/root/ssh/id_rsa): ##直接回车默认路径
Enter passphrase (empty for no passphrase): ##输入密码短语
Enter same passphrase again: ##重复密码短语
Your identification has been saved in /root/ssh/id_rsa ##如果在这里报错是因为SeLinux引起的按照Policy:yum install selinux-policy
Your public key has been saved in /root/ssh/id_rsapub
The key fingerprint is:
aa:76:71:1e:51:fe:3b:4c:51:30:b2:90:55:e9:58:7c root@localhostlocaldomain
The key's randomart image is:
+--[ RSA 2048]----+
| ooo+o |
| o+E |
| o+ o |
| o o |
| S |
| o o |
| + o |
| + |
| |
+-----------------+
2、putty生产密钥
打开puttygen,如果没有该程序可以到putty官方网站下载。
点击Generate按钮后出现下图,在红框中不断移动鼠标知道密钥生成完成
点击Generate按钮后出现下图,在红框中不断移动鼠标知道密钥生成完成
上面的大红框就是我们生成的公钥、这个公钥用于放在被管理服务器上,而私钥放在自己的机器上。
Key comment是一个备注信息,如果是企业环境那么会有很多的公钥在一台机器上,为了识别的话一般都会根据每个人的自己定义一个备注。
可以使用邮箱或者工号,输入Key comment先复制下公钥,并点击Saved public Key 和 Saved Private Key保存两个密钥
接着打开密钥代理工具pageantexe(同样可以在putty的官网下载),使用pageantexe有一个很大的好处,如果你还需要使用putty的其他工具那么他们可以共享密钥验证,而不需要反复去设置密钥。
任务栏的pageantexe图标右键选择view keys打开下面窗口。
点击Add key添加刚才保存的私钥。
3、被管理机密钥部署
将被管理机上刚才生产的id_rsapub复制成authrizedkeys
[root@localhost ssh]# cp id_rsapub authrizedkeys
[root@localhost ssh]# chmod 600 authrizedkeys ##这一步是必须的,否则连接不上修改vi /root/ssh/authrizedkeys 删除原来的密钥,添加puttygenexe生产的密钥(也就是前面复制的公钥)
sh-rsa

AAAAB3NzaC1yc2EAAAABJQAAAIEAh+gDpVSNIwBHZvmHS240AoueNHIgDHhczQ/fhiN/IdAQVdh7Ovw2pnJ4sd6so0kqCizsU7FOu2rvaK7vHC3QrrYmeqn94V595pYGLnMCbtEd7ONew47TU8wjtdldbc7liEmkTVIdkCbbrzQa372/u2LSjkldu2BUiXkevlnGNUc=
hellwenwu
~
~
~
~保存退出。
4、打开putty登录
注意看上图中红色部分,如果你是经常连接这台机器的话建议输入IP并配置要后再Saved Sessions里输入识别名称并点击保存按钮,这样在列表框中就会长期保留该服务器的连接配置。

咱们可以尝试不让超级管理员root用户远程登陆到sshd服务上,这样一方面能提高服务器被黑客暴力破解密码的机率,也能让同学们锻炼下对服务程序的配置能力,首先咱们需要使用vim文本编辑器打开sshd服务的主配置文件,然后将第48行#PermitRootLogin no参数前的#号去掉,并将yes改成no,这样就不再允许root用户远程登陆了,最后记得保存并退出文件即可,修改后的参数如下:

[root@linuxprobe ~]# vim /etc/ssh/sshd_config 
………………省略部分输出信息………………
# >………………省略部分输出信息………………

不要忘记一件重要的事情,一般的服务程序并不会在咱们修改配置文件后就立即获取到了最新的运行参数,如果想让新的配置文件起效,咱们需要手动的重启一下服务程序才行,并且最好也能将这个服务程序加入到开机启动项中,这样使得下一次重启时sshd服务程序会自动运行。

[root@linuxprobe ~]# systemctl restart sshd
[root@linuxprobe ~]# systemctl enable sshd

CentOS系统中怎么修改默认SSH端口 默认的centOS默认端口是22,时间久了你会找到很多日志文件,这是扫描攻击留下的错误日志。那么今天我们要做的就是改成只有自己知道的数字,这样降低了被扫描到的几率,也就等于提高了安全性。 1、登陆SSH修改配置文件,输入如下命令 vi /etc/ssh/sshd_config 会出现如下提示,大家能够看到#port 22,代表默认端口22。按下键盘的a,vi命令中a是编辑,你按下a之后进入编辑状态,这时候可以用键盘的上下键移动绿色光标并用键盘的delete键删除前面的#号了。 小提示:为什么要先把port 22前面的 # 去掉呢因为在配置文件中,# 是linux的注释,凡是#后的代码都不会执行。而SSH默认的端口为22,所以配置文件在默认的情况下以#出现。当你需要更改为其它端口或添加多端口同时SSH访问时,就要删掉注释符号,让程序能够执行你的命令。 2、如下图按回车另起一行手动添加12366端口(自定义端口建议选择5位数端口如:10000-65535之间 ),保留22是为了防止防火墙屏蔽了其它端口导致无法连接VPS,比如你注释了端口22,新添加的12366端口防火墙也没放行,那么恭喜你给自己挖坑了,可能下次你就无法通过SSH连接VPS了。为了防止这种尴尬的情况发生,就要给自己留条后路,等到新端口可以正常连接SSH了,再删除22端口也不迟。 这时候按键盘的“ESC”键退出当前状态,再输入“:wq”命令保存退出。 3、以上修改完后,重启SSH服务,并退出当前连接的SSH端口。命令如下: service sshd restart 4、SSH软件里面把22端口改成12366端口再连接VPS试试看。在Xshell中点击文件,打开,d出“会话”窗口,修改端口号为12366。 然后保存、连接,这时候悲催的发现连不上VPS了,分析了一下是因为没有把12366端口添加到VPS的防火墙里面导致的,好在刚才给自己留了后门!所以再重复上面第四步把Xshell的端口号改回到22,登陆到VPS上面。 5、现在要做的是把12366端口添加到防火墙列表里面去。Vi编辑器打开防火墙列表的命令如下: vi /etc/sysconfig/iptables 按下键盘的a,进入vi命令的编辑状态,回车另起一行使用上下键和delete键配合添加12366端口。不需要明白那些命令是什么意思,照着22端口原样输入一遍,只把端口从22改为12366就可以了,注意linux是区分大小写的。 添加新端口之后,按下键盘的“ESC”退出当前状态,再输入:“:wq”命令保存退出。 6、修改了防火墙列表之后也得重启一下防火墙,命令如下: service iptables restart 7、现在输入防火墙状态查看命令如下 service iptables status 如下图防火墙规则里面已经有12366端口了。 8、现在重复上面第4步里面的修改SSH软件端口的步骤,改为12366端口,连接VPS。d出提示中选择“接受并保存”,以后再连接VPS就不会有这个提示了。 当新端口能正常登陆后,重复上面第一步的 *** 作,把刚才留的后门22端口删除掉。然后按照上面第三步的命令重启SSH。 今天的主题是修改centOS的默认端口,但是涉及到的命令挺多,下面总结一下。 vi编辑器的简单应用,a是编辑,:wq是保存并退出,键盘“ESC”按键是退出当前状态。键盘的上下键和delete键删除添加。 编辑SSH配置文件的命令:vi /etc/ssh/sshd_config 重启SSH的命令:service sshd restart 查看防火墙状态命令:service iptables status 编辑防火墙列表的命令:vi /etc/sysconfig/iptables 重启防火墙命令:service iptables restart 在输入命令的时候需要注意linux是区分大小写的。 魏艾斯博客希望大家通过本教程不但能掌握如何修改centOS端口的方法,还能了解一下相关的命令,同时熟悉linux中vi编辑器的简单命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10671080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存