如何使用SSH登录Linux服务器
首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/sshd_config文件里的配置信息,使用vim编辑,在命令行模式下输入 vim /etc/ssh/sshd_config,进入之后,按“i”进入编辑状态,在其文件里找到并修改为:PasswordAuthentication yes , PermitRootLogin yes两行即可,
修改之后,按“esc”退出,并按“:wq”保存并退出,或直接按“:x”直接保存退出,(注意:此处的x为小写x,大写X是将文件内容加密,使用时细心注意),
退出编辑模式之后,回到命令模式,输入 sevice ssh start/stop/restart/status,启动/停止/重启/状态,选择start启动ssh服务。
如果上面开启SSH服务的命令不能用,可以使用命令:sudo service sshd start 试试,检查是否开启SSH服务使用命令:ps -e | grep sshd
此时可以查看ssh状态是否为运行状态,运行状态即可使用ssh远程登陆。
使用“ifconfig”命令查询ip地址
使用ssh登陆时,输入主机(linux的ip地址),账号,密码登陆!
如果需要远程连接SSH,需要把22端口在防火墙上开放,关闭防火墙,或者设置22端口例外 /etc/initd/iptables stop
怎么通过ssh登陆可参看下一篇“通过ssh实现远程登陆服务器!”
大致步骤为:
SSH 服务配置文件位置
/etc/ssh/sshd_config
# 修改配置
PasswordAuthentication yes
PermitRootLogin yes
# 启动SSH 服务
sevice ssh start/stop/status
安装SSH:yum install ssh
启动SSH: service sshd start
设置开机运行: chkconfig sshd on
linux系统重启服务时服务器自动重启?
1、先先出现这种情况的话,建议先检查下服务器安全性,检查是不是被设置植入了自动重启木马,从而导致的自动重启,如果是这种情况,找出删除家固服务器安全就可以了;
2、第二步是排查,看是不是服务器本身设置了,安排重启回收服务器系统资源的时候,导致资源不足从而引起的重启;
3、接下来查看是不是服务器安装了必要的组件,重新安装组件的时候,会自动重启安装,组件的安装才能生效;
4、很后建议检查一下系统检查更新是否启启,如果系统自动更新的话,重启才会生效,更新完成会自动重启的。,所以面对这种情况,可以把系统更新关闭,设置2成手动去检查安装更新,有选择性的点击安装更新重启!
5、如果以上问题都排除了,不是这类问题的话,很大可能是出自服务器硬件,这时候,需求机房技术彻底解决的话,需求花时间,排除具体什么硬件问题!
Linux系统Apache服务的信息查看模块是什么?
linux下查看Apache(httpd)当前的模块可以使用httpd-l命令,如果提示找不到命令请用完全路径访问,window也可以使用这个命令查看。上面的eventc就是我的MPM模块。说明我机器的MPM是EventMPM。还有种办法可以查看当前的MPM模块。
怎么设置postgresql为linux中的系统服务?
逐个解答。但根据问题间的关系,顺序和你提问的顺序有所不同。=============================================“请写出尽量多的方法,并说明方法的原理。”---------------------------------------------我用EverestLinux06是Redhat系列的远方旁枝。源自Redhat的发行版有类似的服务管理方式。太多的方法没有用,一种基本方法再加两三种附加变体方法足矣。=============================================“如何关闭服务及如何手动开启服务”---------------------------------------------简而言之:servicestartservicestop细节见下。
以我的现状为例,所有的主要独立服务都在“/etc/rcd/initd”中有对应的控制脚本,能控制服务的启停、重启,甚至不重启而重新加载配置。当然,也可以自己制作自己的控制脚本。
我自己制作了Apache、Tomcat、PostgreSQL和花生壳的控制脚本。
#ls-l/etc/rcd/initd/总计316-rwxr-xr-x1rootroot17732009-04-20smb-rwxr-xr-x1rootroot33402008-12-06sshdlrwxrwxrwx1rootroot662009-08-20tfw_httpd->/ext/prog/c/Apache/HttpdEverestLinux-06-tb20090422/tfw/rc_scriptlrwxrwxrwx1rootroot612009-08-20tfw_pgsql->/ext/prog/m/PostgreSQLEverest-Linux-06-tb0422/tfw_rc_scriptlrwxrwxrwx1rootroot322009-08-20tfw_phlinux->/usr/local/phlinux/tfw_rc_scriptlrwxrwxrwx1rootroot392009-08-20tfw_tomcat->/ext/prog/c/Apache/Tomcat/tfw/rc_script-rwxr-xr-x1rootroot24972008-12-06xinetd#以此为例,可以用“servicesmbdstart”来启动Windows网络邻居服务;用“servicesshdstop”来关闭安全隧道登录服务;用“servicetfw_pgsqlreload”不重启地重新加载PostgreSQL配置;用“servicetfw_phlinuxrestart”重新启动花生壳。=============================================“读哪个文件判断是否启动服务”---------------------------------------------没有简述,想了解请看完。
在“/etc/rcd/rcd”目录里存放着上述脚本的链接。“”为0~6间的数字,对应系统运行级别。
以运行级别3为例:
#ls-l/etc/rcd/rc3d/总计0lrwxrwxrwx1rootroot2003-0313:00K04tfw_tomcat->/initd/tfw_tomcatlrwxrwxrwx1rootroot142009-08-20S55sshd->/initd/sshd#这些链接有的以“K”开头,有的以“S”开头。系统在切换都一个运行级别时,会首先检查以“K”开头的链接,按其后面两位数字所标明的顺序依次检查这些链接所对应的服务;如果开着就以“stop”参数调用服务控制脚本关闭此服务。例子中“/etc/rcd/rc3d/K04tfw_tomcat”的含义即为“当系统切换到运行级别3时,检查一下Tomcat是否在运行;如果在运行,就用‘servicetfw_tomcatstop’关掉Tomcat”。在关完服务后,系统再根据数字依次检查以“S”开头的链接,如果对应的服务没有开启,就以“start”参数调用服务控制脚本开启此服务。例子中“/etc/rcd/rc3d/S55sshd”的含义即为“当系统切换到运行级别3时,检查一下安全登录遂道是否在运行;如果没在运行,就用‘servicesshdstart’启动安全登录遂道”。=============================================“如何查询已经开启的服务”---------------------------------------------没有简述,想了解请看完。#servicenetworkstatusCoppied配置设备:loeth0ppp0当前的活跃设备:loeth0ppp0#servicetfw_httpdstatusUsage:/etc/initd/tfw_httpd{start|stop|restart}#可以看到,有一些服务控制脚本支持“status”参数,可以用“servicestatus”来查看;还有一些服务控制脚本不支持“status”参数,此时就只能凭经验判断了。=============================================“可以用TELNET、FTP举例,我的RH系统内有XINETD,也希望讲解下”---------------------------------------------在Redhat风格的发行版中,Telnet和FTP一版不是独立服务,而是被“超级服务器”XINETD托管。XINETD是一个独立服务,和前述服务无异。它的控制脚本是“/etc/rcd/initd/xinetd”。=============================================“读哪个文件来判断服务的设置”---------------------------------------------不同的独立服务一般都拥有自己的配置文件。典型情况下,“/etc/samba/smbconf”是Windows网络邻居服务的主要配置文件,“/etc/ssh/sshd_config”是安全隧道服务器端的主要配置文件。在我的计算机上,“/ext/prog/c/Apache/HttpdEverestLinux-06-tb20090422/conf/”下的文件就是Apache-Httpd服务的主要配置文件。在我曾经用过的Redhat系发行版MagicLinux20中,Telnet和FTP等非独立服务的端口等配置信息出现在XINETD的配置文件中;而我现在所用的发行版EverestLinux06虽然仍是Redhat系,Telnet和FTP的端口信息已经移到其各自的配置文件中。
如何查看linux系统安装了哪些服务?
因不同版本的操作系统可能使用的命令不一样或者有些命令在某些操作系统不可用,现列举一些常用查看命令(基于我的linux版本)。我的操作系统版本如下:
1service--status-all输出结果较多,截取部分。比如查看MySQL服务安装了没有,可从列出的信息中查找。
2chkconfig--list可以使用该命令查找特定的服务是否安装(前提是你指定该服务运行的名称),比如MySQL,键入命令:chkconfig--listmysql3psaux4进入initd目录查看5netstat-lntp6ntsysv其中号表示开机启动。如果想让某个服务开机启动,可以使用chkconfigmysqlon。另有查看mysql状态/停止mysql服务/启动mysql服务分别为:servicemysqlstatus/stop/start。
在命令行中输入命令:
ssh username@ip_address -p port
之后系统会提示输入密码,输入后即可登录
如果不添加-p选项,则默认是22端口
还可以使用-l选项输入用户名:
ssh -l username ip_address -p port
更详细Linux命令介绍请看下图:
本文是笔者查阅网上资料做的总结,关于SSH原理,什么是对称加密和非对称加密,本文不过多介绍。这里介绍一下SHH的工作过程、配制方法,可能出现的问题及解决方法。
说明:本文中涉及的例子,SSH客户端为:本地主机A,SSH服务器为:服务器B
SSH协议采用C-S(客户端-服务器端)架构进行双方的身份验证以及数据的加密。
服务器端组件监听指定的端口,负责安全连接的建立、对连接方的身份认证、以及为通过身份认证的用户建立正确的环境。
客户端负责发起最初的TCP握手、安全连接的建立、验证服务器的身份与之前记录中的一致、并将自己的验证信息提供给服务器。
一个SSH会话的建立过程分为两个阶段。第一阶段,双方沟通并同意建立一个加密连接通道以供后续信息传输用。第二阶段,对请求接入的用户进行身份验证以确定服务器端是否要给该用户开放访问权限。
当客户端发起TCP连接时,服务器端返回信息说明自己支持的协议版本,如果客户端上支持的协议与之匹配,则连接继续。服务器会提供自己的公共主机密钥(public host key)以让客户端确认自己访问的是正确的机器。
然后,双方采用一种Diffie-Hellman算法共同为该会话建立密钥。每一方的一部分私有数据,加上来自对方的一部分公共数据,通过这种算法计算,能够得出完全相同的密钥用于本次会话。
整个会话的通讯内容都使用该密钥进行加密。这个阶段使用的公钥/私钥对与用户验证身份用的SSH密钥是完全无关的。
经典Diffie-Hellman算法的计算步骤如下:
这个共享密钥的加密方式被称为二进制数据包协议(binary packet protocol)。该过程能够让双方平等的参与密钥生成的过程,而不是由单方掌握。这种共享密钥生成的过程是安全的,双方没有交换过任何未经加密的信息。
生成的密钥是对称式密钥,一方用于加密信息的密钥等同于另一方用于解密信息的密钥,而任何第三方由于不持有该密钥,是无法解密双方传递的内容的。
会话加密通道建立后,SSH开始进入用户认证阶段。
下一步,服务器验证用户身份以决定是否准许其访问。验证有不同的方式,选择的验证方式取决于服务器的支持。
最简单的验证是密码验证:服务器要求客户端输入密码,客户端输入的密码经过上述的通道加密传输给服务器。
虽然密码是加密过的,然而该方法仍然不被推荐,因为用户经常为了省事而使用过于简单的密码,而这类密码很容易就能够被自动化脚本破解。
最流行的验证方式是SSH密钥对,这也是当前最推荐的方式。SSH密钥对是非对称密钥,私钥和公钥分别用于不同的功能。
公钥用于加密,而私钥用于解密。公钥可以随意上传、共享,因为公钥的流通并不会危及到私钥的保密性。
SSH密钥对的验证过程起始于上一部分加密通道建立之后,其具体执行步骤如下:
简单来说,服务器端用公钥加密信息,客户端用私钥解密信息以证明自己持有私钥。该过程同时使用了对称加密和非对称加密,两种方式各有自己的功用。
命令如下:
用户名:为要登录的服务器B中已存在的用户账户名
IP地址:为服务器B的IP地址
-p 端口号:用来指定端口号,默认为22
第一次登录时,会提示如下提示:
大概意思是说,你正在访问的主机不能验证它的真实性,它的RSA key(当前访问主机的公钥)指纹是怎样的,你确定要继续连接吗?
输入yes继续,会提示,已永久把当前访问主机的RSA key添加到了已知主机文件(用户目录下,ssh 文件夹中的knwon_hosts文件)中。之后再次 SSH 登录就不再有该提示了。
接着,输入登录账户的密码即可。
SSH 密码登录,需要服务器开启密码验证权限,编辑服务器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,将前面的#号去掉,保存退出。
公钥登录,即免密码登录。避免的每次登录都要输入的麻烦,也防止了中间人攻击。是SSH远程登录最常用的登录方式。
提示输入密钥对名称,直接回车,使用默认名称即可;
提示输入密码(使用私钥时,要输入密码),直接回车,不使用密码即可。
首先,登录服务器B,在进行下面的操作。
找到 #PubkeyAuthentication yes,删除 #号,保存退出。
重启 ssh 服务
也可指定验证私钥:
本地主机A,生成密钥对后:
sudo vim /etc/selinux/config
0条评论