如何查看linux上的ssh服务是不是正常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看linux上的ssh服务是不是正常相关的知识,希望对你有一定的参考价值。

这里仅列举出一些查看ssh服务相关信息的常用命令.

rpm -qa | grep ssh 可以看到系统中ssh安装包

rpm -ql openssh-3.5p1-6 查看该安装包安装信息(如安装路径,配置文件等)

ps -e | grep ssh 查看ssh服务有没有运行,如果有,可以看到类似以下内容:

2254 ? 00:00:00 sshd

这证明ssh已经在运行了,进程名为sshd

如果没有运行,可以通过以下命令运行之:

root]#/etc/rc.d/init.d/sshd start

root]#service sshd start

再看下这个ssh服务的网络连接情况: 

    root]#netstat -ntlp 

如果看到如下内容:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      22109/sshd

这说明sshd已经能够正常工作了,如果利用客户端(SecurCRT,putty等)连接不上,尝试关闭防火

墙试试: service iptables stop   命令使用介绍请如下图方式进行查询

参考技术A sshd服务在linux中是默认开启的,/etc/ssh/sshd_config看看有没有这个文件,或者是使用ssh ip地址 登陆一下,ip地址就是你的linux主机的地址。你要是实在不明白就去网上收一下《linux就该这么学》,看看他的第9章,专门讲了ssh服务。本回答被提问者采纳 参考技术B

查看SSH是否安装:

输入命令:rpm -qa | grep ssh

注:若没安装SSH则可输入:yum install openssh-server安装。

启动SSH服务:

输入命令:service sshd restart  重启SSH服务。

命令:service sshd start 启动服务 |  命令:service sshd stop 停止服务 

重启后可输入:netstat -antp | grep sshd 查看是否启动22端口(可略)。

如何设置SSH服务为开机启动?

输入命令:chkconfig sshd on 即可。

注:若是chkconfig sshd off则禁止SSH开机启动。 各个命令的详细介绍和使用可查看“Linux命令大全”。

Linux服务器限制ssh登录,查看登录日志

网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限。有几个简单的防御措施:

1. 修改ssh服务的默认端口

ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口。所以第一步就是修改这个默认端口
打开/etc/ssh/sshd_config,找到
Port 22
然后将22修改为其它没有被占用的端口,如1022。最好在1-1024之间,防止与用户进程端口冲突。
然后重启sshd即可
sudo /etc/init.d/ssh restart

2. 限制IP

首先修改/etc/hosts.allow文件,将可访问服务器ssh服务的客户IP加入其中,格式如下
sshd:192.168.1.0/255.255.255.0
sshd: 202.114.23.45
sshd: 211.67.67.89
然后修改/etc/hosts.deny文件,加入禁用其它客户连接ssh服务
sshd: ALL

3.升级服务器

矛与盾的故事永远没有结局,经常升级服务器是必备的
apt-get update
apt-get dist-upgrade

4.检查登录日志

不怕一万,就怕万一,没有攻不破的城堡,有些小偷可能是小白,或者来也匆匆,去也匆匆,在服务器上做完坏事没有擦除痕迹,所以经常检查登录日志,也是一种安全手段
more /var/log/secure // 新版的Ubuntu都没有这个文件了
who /var/log/wtmp

干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条

5、在终端中查看日志

dmesg的命令显示Linux内核的消息缓冲器,其被存储在存储器中。运行这个命令,你会得到很多的输出。
要过滤此输出并搜索你感兴趣的消息,你可以将使用管道grep:

dmesg | grep something
你还可以将dmesg命令的输出管道用less,这样可以按照你自己的速度滚动浏览消息。要退出less,请按Q。

dmesg | less

如果一个grep搜索产生大量的结果,你可以将其输出管道用less:
dmesg | grep something | less
除了在任何文本编辑器中打开位于/var/log中的日志文件之外,还可以使用cat命令将日志(或任何其他文件)的内容打印到终端:

cat /var/log/syslog
像上面的dmesg命令一样,这将产生大量的输出。你可以使用grep和less命令来处理输出:

grep something /var/log/syslog
less /var/log/syslog
其他有用的命令包括头和尾命令。头打印文件中的前n行,而尾部打印文件中的最后n行,如果要查看最近的日志消息,则tail命令特别有用。

head -n 10 /var/log/syslog
tail -n 10 /var/log/syslog

某些应用程序可能不会写入系统日志,并且可能会产生自己的日志文件,你可以使用相同的方式进行操作,通常也可以在/var/log目录中找到它们。例如,Apache Web服务器创建一个包含其日志的/var/log/apache2目录。

6、常用日志目录代表的意思

=> /var/log/messages:常规日志消息
=> /var/log/boot:系统启动日志
=> /var/log/debug:调试日志消息
=> /var/log/auth.log:用户登录和身份验证日志
=> /var/log/daemon.log:运行squid,ntpd等其他日志消息到这个文件
=> /var/log/dmesg:Linux内核环缓存日志
=> /var/log/dpkg.log:所有二进制包日志都包括程序包安装和其他信息
=> /var/log/faillog:用户登录日志文件失败
=> /var/log/kern.log:内核日志文件
=> /var/log/lpr.log:打印机日志文件
=> /var/log/mail.:所有邮件服务器消息日志文件
=> /var/log/mysql.
:MySQL服务器日志文件
=> /var/log/user.log:所有用户级日志
=> /var/log/xorg.0.log:X.org日志文件
=> /var/log/apache2/:Apache Web服务器日志文件目录
=> /var/log/lighttpd/
:Lighttpd Web服务器日志文件目录
=> /var/log/fsck/*:fsck命令日志
=> /var/log/apport.log:应用程序崩溃报告/日志文件
=> /var/log/syslog:系统日志
=> /var/log/ufw:ufw防火墙日志
=> /var/log/gufw:gufw防火墙日志

使用tail,more,less和grep命令。

tail -f /var/log/apport.log
more /var/log/xorg.0.log
cat /var/log/mysql.err
less /var/log/messages
grep -i fail /var/log/boot

以上是关于如何查看linux上的ssh服务是不是正常的主要内容,如果未能解决你的问题,请参考以下文章

如何查看linux开放ssh端口?

如何查看Linux下mysql服务的进程是不是正常运行?

linux查看ssh服务是不是开启

怎么查看ssh服务是不是开启

如何查看linux中的ssh端口开启状态

如何查看openssh-server是不是开启