Linux基础介绍【第二篇】
远程连接Linux的原理
SHH远程连接介绍
当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分。其中,SSH服务端包含的软件主要有openssh和openssl,在Linux系统中可以查询SSH服务端工具的安装情况:
- [root@oldboy66 ~]# rpm -qa openssh openssl
- openssl-1.0.1e-30.el6.x86_64
- openssh-5.3p1-104.el6.x86_64
提示:openssh是提供SSH服务的程序,openssl是为SSH提供连接加密的程序。
SSH服务端介绍
启动Linux系统是,默认情况下,SSH服务端程序就会随系统一起启动,SSH服务是一个守护进程(demon),它在系统后台永久运行并时刻响应来自所有SSH客户端的连接请求。SSH服务端的进程名为sshd,负责实时监听远程SSH客户端的连接请求并进行处理,这些请求一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。SSH服务是系统优化时需要保留开机自启动的服务之一。
查看进程:ps –ef
查看端口:netstat –lntup
查看配置好的ip:ifconfig,ip add
- [root@oldboy66 ~]# netstat -lntup|grep ssh
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1202/sshd
- tcp 0 0 :::22 :::* LISTEN 1202/sshd
- [root@oldboy66 ~]# ps -ef|grep sshd
- root 1202 1 0 10:24 ? 00:00:00 /usr/sbin/sshd
- root 1426 1202 0 10:30 ? 00:00:00 sshd: root@pts/0
- root 1533 1433 0 11:02 pts/0 00:00:00 grep sshd
SSH客户端介绍
SSH客户端最常用的工具就是Windows平台的SecureCRT,该工具安装简单。除了SecureCRT软件之外,还有xshell、putty等常用软件以及Linux下的SSH客户端。
SSH协议介绍
SSH服务端和SSH客户端之间的交流都是通过SSH协议来实现的。SSH协议是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定。在进行数据传输之前,SSH先通过加密技术对联机数据包进行加密处理,然后再进行数据传输,这样就可确保传递的数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效地防止远程管理过程中的信息被披露,在当前的生产环境中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
SSH协议有两个不兼容的版本,分别是1.x和2.x。
OpenSSH同时指出SSH 1.x和SSH 2.x。用SSH 2.x的客户端程序不能连接到SSH 1.x的服务程序上,SSH 2.x比SSH 1.x更安全,默认情况下服务通过SSH 2.x协议提供服务。
SSH远程连接故障排查
1、物理链路检查
ping server_ip ßICMP协议,默认64字节
不通:
检查服务器防火墙和SSH服务是否开启。
可以先关闭防火墙:
- [root@oldboy66 ~]# /etc/init.d/iptables stop
建议连续执行两遍。
2、服务是否正常
telnet ip port
Linux默认没有安装telnet,使用yum install telnet –y进行安装。
windows安装telnet:
控制面板à卸载程序à打开或关闭windows功能àTelnet客户端à确定
window与linux互传文件
rz、sz命令的安装方法
第一种方法:安装系统时选包包含rz sz命令的包组Dial-up Networking Support。
第二种方法:安装系统后通过执行yum install lrzsz –y或yum groupinstall "Dial-up Networking Support" –y命令安装。
上传命令rz
上传内容时,执行命令rz,如果希望覆盖服务器上的同名内容上传,可以加-y参数,输入rz –y命令后直接回车,会打开一个上传文件的窗口,然后从这个窗口浏览找到需要传输的文件进行上传,在这个上传的窗口内选择的文件是客户端电脑本地要传的文件。
下载命令sz
下载内容时,执行命令sz filename,如果希望覆盖本地的同名内容下载,则可输入sz –y filename命令,sz –y命令后面的filename为命令行当前目录下的文件。
使用rz、sz命令的主意事项
只能上传下载文件而不能是目录,如果是目录需要打包成文件再传。
上传的文件可以电脑里的任意文件,下载的文件会下载到CRT配置的对应下载路径目录中。
其他工具
除了rz、sz等传输文件命令外,还可以用ftp、sftp(SSH服务)等工具来传输文件。
常需要安装的几个包:
yum install tree telnet lrzsz nmap dos2unix –y
rpm -qa telnet lrzsz dos2unix tree
VM克隆后网卡问题
首先修改/etc/sysconfig/network-scripts/ifcfg-eth0。
- [root@oldboy66 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
删除里面两行数据:
HWADDR=
UUID=
清空文件
- [root@oldboy66 ~]# >/etc/udev/rules.d/70-persistent-net.rules
重启:reboot。
基础命令
查看系统版本:
- [root@oldboy66 ~]# cat /etc/redhat-release
- CentOS release 6.6 (Final)
查看内核版本:
- [root@oldboy66 ~]# uname -r
- 2.6.32-504.el6.x86_64
查看系统位数:
- [root@oldboy66 ~]# uname -m
- x86_64
查看主机名:
- [root@oldboy66 ~]# hostname
- oldboy66
uname:打印系统信息,-r显示内核,-m显示32或64位,-n显示主机名,-a显示所有信息。
linux多任务、多进程、多CPU、多用户。
平时管理电脑只用普通用户,禁止用root管理员。
添加账号:
- [root@oldboy66 ~]# useradd oldboy
设置密码:
- [root@oldboy66 ~]# passwd oldboy
- Changing password for user oldboy.
- New password:
- BAD PASSWORD: it is based on a dictionary word
- BAD PASSWORD: is too simple
- Retype new password:
- passwd: all authentication tokens updated successfully.
[root@oldboy66 ~]# ß超级管理员root对应的提示符
[oldboy@oldboy66 ~]$ ß普通用户oldboy对应的提示符
提示符@前面的字符代表当前用户(whoami),后面的为主机名(hostname)。受环境变量控制($PS1)。
查看当前用户:whoami
- [oldboy@oldboy66 root]$ whoami
- oldboy
角色切换:su – 用户名,-参数切换用户环境变量。从普通用户到root,需要root密码;从root到普通用户无需密码。
安装linux系统后调优及安全设置
关闭SELinux功能
关闭方式如下:
1、修改配置文件,使关闭SELinux永久生效:
查看配置文件
- #查看配置文件
- [root@oldboy66 ~]# cat /etc/selinux/config
- # This file controls the state of SELinux on the system.
- # SELINUX= can take one of these three values:
- #开启状态
- # enforcing - SELinux security policy is enforced.
- #警告状态
- # permissive - SELinux prints warnings instead of enforcing.
- #关闭状态
- # disabled - No SELinux policy is loaded.
- #当前状态
- SELINUX=enforcing
- # SELINUXTYPE= can take one of these two values:
- # targeted - Targeted processes are protected,
- # mls - Multi Level Security protection.
- SELINUXTYPE=targeted
vim修改配置文件:
- [root@oldboy66 ~]# vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled。
2、sed替换修改
首先备份修改的文件:
- [root@oldboy66 ~]# cp /etc/selinux/config /etc/selinux/config.oldboy.20161203
sed替换
- [root@oldboy66 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
检查:
- [root@oldboy66 ~]# grep =disabled /etc/selinux/config
- SELINUX=disabled
查看是否生效:
- [root@oldboy66 ~]# getenforce
- #没有生效
- Enforcing
执行生效:
- [root@oldboy66 ~]# setenforce
- #0表示警告不启用,1表示开启
- usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
- [root@oldboy66 ~]# setenforce 0
- [root@oldboy66 ~]# getenforce
- #当前状态警告不启用
- Permissive
设置运行级别
linux的运行级别:
- [root@oldboy66 ~]# tail /etc/inittab
- # Default runlevel. The runlevels used are:
- #停机状态
- # 0 - halt (Do NOT set initdefault to this)
- #单用户模式
- # 1 - Single user mode
- #多用户模式(无NFS)
- # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
- #完整的多用户状态(有NFS)
- # 3 - Full multiuser mode
- #暂未使用
- # 4 - unused
- #图形界面
- # 5 - X11
- #重启
- # 6 - reboot (Do NOT set initdefault to this)
- #
- id:3:initdefault:
命令:
runlevel:查看当前系统运行级别
- [root@oldboy66 ~]# runlevel
- N 3
init:切换运行级别,后面接对应级别的数字。
精简开机系统启动
企业环境新装Linux系统之后有必要保留的开启自启动服务有5个。
- ssh
远程连接Linux服务器时需要用到这个服务程序,所以必须开启,否则将无法远程连接Linux服务器。
- rsyslog
操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息写到各个系统日志文件中,CentOS6以前此服务名为syslog。
- network
系统启动时,若想激活/关闭各个网络接口,则应考虑开启。
- crond
该服务用于周期性地执行系统及用户配置的任务计划。若要周期性执行的任务需要开启,此服务几乎是生成场景必须要用的一个软件。
- sysstat
sysstat是一个软件包,包含监测系统性能及效率的组工具,这些工具对于收集系统性能数据很有帮助,比如CPU使用率、硬盘和网络吞吐数据等,这些数据的分析有利于判断系统运行是否正常,所以它是提高系统运行效率、安全运行服务的助手。
sysstat软件包集成的主要工具:
iostat工具提供CPU使用率及硬盘吞吐率的数据。
mpstat工具提供与单个或多个处理器相关的数据。
sar工具负责收集、报告并存储系统活跃的信息。
设置开机自启动服务
方法一:
查看服务:
chkconfig --list
查看3级别下启动的服务:
chkconfig --list|grep 3:on
查看排除sshd、network、rsyslog、crond、sysstat的服务:
chkconfig --list|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"
关闭除了sshd、network、rsyslog、crond、sysstat的所有服务:
- for name in `chkconfig --list|grep 3:on |awk '{print $1}' |grep -Ev "sshd|network|rsyslog|crond|sysstat"`;do chkconfig $name off;done
查看执行效果:
chkconfig --list|grep 3:on
方法二:
先拼出执行关闭服务的命令:
chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|sed -r 's#(.*)#chkconfig \1 off#g'
输出结果:
chkconfig atd off
chkconfig ntpd off
…
然后交给bash进行执行:
chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|sed -r 's#(.*)#chkconfig \1 off#g'|bash
查看结果:
chkconfig --list|grep 3:on
方法三:
先拼出执行关闭服务的命令:
- chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'
输出结果:
chkconfig atd off
chkconfig ntpd off
…
然后交给bash进行执行:
- chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'|bash
查看结果:
chkconfig --list|grep 3:on
方法四:
setup选择执行
关闭iptables防火墙
查看防火墙:
- [root@oldboy66 ~]# iptables -L -n
关闭防火墙:
- [root@oldboy66 ~]# /etc/init.d/iptables stop
查看防火墙状态:
- [root@oldboy66 ~]# /etc/init.d/iptables status
- #已经关闭
- iptables: Firewall is not running.
设置开机不启动:
- [root@oldboy66 ~]# chkconfig iptables off
chkconfig设置开机自启动服务。
Linux系统安全的最小化原则
- 安装Linux系统最小化,即选包最小化,yum安装软件包最小化,不用的包不装。
- 开机自启动服务最小化,即无用的服务不开启。
- 操作命令最下化。例如rm –f test.txt而不用rm –fr test.txt
- 登录Linux用户最小化。
- 普通用户授权权限最小化,即只给必须的管理系统的命令。
- Linux系统文件及目录的权限设置最小化,禁止随意创建、更改、删除文件。
Linux基础介绍【第二篇】的更多相关文章
- Linux 基础入门 第二周9.21~9.27
一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...
- Linux基础介绍【第一篇】
Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...
- Linux基础介绍【第九篇】
服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m total used free shared buffers cached M ...
- Linux基础介绍【第八篇】
Linux网络基础 网线 568A 568B 线序:橙白橙 绿白蓝 蓝白绿 棕白棕 交换机.路由器 交换机:DLINK.H3C.CISCO 交换机(Switch)是一种用于电信号转发的网络设备.它可以 ...
- Linux基础介绍【第四篇】
Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16 ...
- Linux基础介绍【第六篇】
定时任务crond介绍 crond是什么? crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.一般情况下,安装完CentOS5/6 linux操作系统之后,默认便会启动cro ...
- Linux基础介绍【第五篇】
linux权限位 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主权限.属组权限.其他用户权限. r:read可读权限,对应数字4: w:write可写权限,对应数字 ...
- Linux基础介绍【第三篇】
更改SSH服务端远程登录的配置 windows服务端的默认远程管理端口是3389,管理员用户是administrator,普通用户是guest.Linux的管理用户是root,普通用户默认有很多个,远 ...
- Linux基础介绍【第七篇】
linux用户分类 超级用户:UID=0,root 普通用户:UID 500起,由超级用户或具有超级用户权限的用户创建的用户. 虚拟用户:UID 1-499,为了满足文件或服务启动的需要而存在,一般都 ...
随机推荐
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- 理解Maven中的SNAPSHOT版本和正式版本
Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...
- 记录我这一年的技术之路(nodejs纯干货)
2015年12月28日23:19:54 更新koa应用.学习型网站和开发者工具等 coding伊始 开始认认真真的学习技术还是2015.10.21日开始的,记得很清楚,那天,是我在龙湖正式学习的第一天 ...
- zookeeper源码分析之六session机制
zookeeper中session意味着一个物理连接,客户端连接服务器成功之后,会发送一个连接型请求,此时就会有session 产生. session由sessionTracker产生的,sessio ...
- 十分钟玩转 jQuery、实例大全
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQuery对象 jQuery产 ...
- [原]Paste.deploy 与 WSGI, keystone 小记
Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...
- 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇
最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...
- 代码的坏味道(16)——纯稚的数据类(Data Class)
坏味道--纯稚的数据类(Data Class) 特征 纯稚的数据类(Data Class) 指的是只包含字段和访问它们的getter和setter函数的类.这些仅仅是供其他类使用的数据容器.这些类不包 ...
- v14.0\AspNet\Microsoft.Web.AspNet.Props 找不到
错误 E:\Github\AutoMapper\src\AutoMapper\AutoMapper.CoreCLR.kproj : error : 未找到导入的项目"C:\Program ...
- 如何获取url中的参数并传递给iframe中的报表
在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...