复制文件夹下的所有文件到另一个文件夹下



cp ~/dirname/* ~/otherdirname



 

解压rar文件

PS:在liunx下原本是不支持rar文件的,需要安装liunx下的winrar版本

下载rar解压器:http://www.rarlab.com/download.htm



wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz //下载
tar -zxvf rarlinux-4.0.1.tar.gz
cd rar 
make



 

看见下面这些信息就是安装成功了



mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib



 

常用rar命令



rar x yhcsh.rar         //解压 yhcsh.rar 到当前目录
rar yhcsh.rar ./yhcsh/  //将 yhcsh 目录打包为 yhcsh.rar



 

在运行解压rar文件时,如果文件是这种样子的

• enCaIC0617700Vir.part1.rar
• enCaIC0617700Vir.part2.rar
• enCaIC0617700Vir.part3.rar
• ....
• ....
• ....
• enCaIC0617700Vir.partn.rar

只用执行解压第一个文件就可以了,其余的会自己解压;

 

获得一个已经被删除但是仍然被应用程序占用的文件列表



lsof |grep deleted



找到相应的进程,然后kill掉;

 

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录;



mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup



 

运行yum makecache时出现“another app is currently holding the yum lock;waiting for it to exit”的解决:



rm -f /var/run/yum.pid



杀掉占用yum的程序:



kill -9 3966



 

建立一个新的文件



touch newfile
vi newfile



 

对文件重命名



mv a.txt b.txt



 

使用多条命令:末尾加;



yum install ksh -y;yum install libXext.so.6 -y;yum install libXtst.so.6 –y;yum install libXt.so.6 -y;yum install libGLU.so.1 --setopt=protected_multilib=false;yum install libelf.so.1 -y;yum install libXrender.so.1 -y;yum install libXp.so.6 -y;yum install libXrandr.so.2 –y;yum install *xorg* -y; yum install libXp -y;yum install ld-linux.so.2 -y;yum install openmotif  -y;yum install libstdc++.so.5 -y;yum install -y xterm;



 

进入centos7时有两个选项

centos 7z 解压系统iso centos7解压rar包的命令_操作系统

其中第一个为正常启动,第二个为急救模式;

同时centos更新后,不会有删除旧的内核,因此也在选项界面出现多个内核选项;

 

基于MOOC-Linux系统管理课程

 

树形目录

/:根目录

/bin:可执行目录文件

/boot:系统核心文件和目录所需文件

/dev:系统设备device相关文件

/etc:系统主要配置文件

/home:放置用户家目录

/lib:系统和程序运行所要调用的库文件

/root:最高权限root根用户的家目录

/sbin:根用户才能执行的命令文件

/srv:放置服务器启动所需访问的数据

/tmp:临时存放文件目录

/opt:第三方软件建议安装目录

/media:放置移动设备相关文件,如驱动

 

cd切换目录命令



pwd
显示当前目录

cd ~xxx
进入当前xxx用户的家目录

cd /
进入根目录

cd ./xxx
进入当前目录的xxx下



 

 

mkdir创建文件夹命令



mkdir -p /relax/playinggame
-p创建嵌套目录



 

 

rmdir删除文件夹命令



rmdir /playinggame
无法删除空目录



 

 

ls列出文件命令



ls -a /tmp
列出所有文件包括隐藏文件

ls -l /tmp
列出可见文件的详细信息

ls -la /tmp
列出所有文件的详细信息

-rwxr--r--   1   lpf   lg   23   May 24 22:15   hello.sh
文件类型/用户权限---文件硬链接数目---文件拥有者---文件从属用户组---文件大小---文件创建时间---文件名称

rwx:read可读/write可写/eXecute可执行权限
lpf:文件拥有者对应第一组rwx权限
lg:文件从属用户组对应第二组r--权限
other:其他用户组对应第三组r--权限
rwxr--r--:表示111-100-100为711权限

-:第一个字符表示文件类型
d:目录文件
-:普通文件
c:字符设备文件
b:块设别文件
l:符号链接文件

chmod:更改用户权限
chmod 700 hello.sh

chown:更改文件拥有者
chown lg:lpf hello.sh
将文件拥有者改为lg:将文件从属用户组改为lpf



 

 

cp拷贝文件



cp /tmp/hello.sh ~/halo.sh
将文件hello.sh拷贝到家目录下并更改名字为halo.sh

cp /tmp/file01 /tmp/file02 /tmp/file03 ~
将三个文件file01/file02/file03文件拷贝到家目录下

cp -r /tmp/ ~/
将tmp目录全部拷贝打家目录下

\cp -f /tmp ~/tmp
-f强制覆盖文件,要求文件有写权限



 

 

mv/rm/touch移动命令



mv /tmp ~
mv移动目录不需要任何命令

mv -f /tmp ~
-f强制覆盖同名文件

mv /tmp/file01 ~/file02
mv命令可以实现重命名作用

rm -R /tmp
-R删除目录下所有文件

rm -fR /tmp
-f删除文件不需要询问,强制删除

touch empty
创建一个空文件,若文件存在则会更改文件时间戳属性



 

 

ln创建符号链接



ln -s ~/hello.sh ~/hello_slink
给hello.sh创建一个hello.slink符号链接,同时两个文件属性不同,但是内容相同,删除原文件后会失效符号链接文件



 

Inode区:存放Inode-number和其他属性,相当于目录

DataBlock区:文件实际数据,相当于正文

Linux目录:存放着文件名和inode-number,相同先找到文件名->再找到indo-number->indoe->数据

硬链接就是在文件名处让多个文件名指向一个indo-number



ln ~/hello.sh ~/hello_slink
给hello.sh创建一个硬链接,这两个文件的indo-number相同,因此是同一个文件,属性内容都相同,两者没有依赖关系,删除原文件也不会影响硬链接文件



 

打包命令tar:不改变文件大小,只是将文件连接在一起,会使文件名更大



tar -cf hello.tar ./helloa ./hellob ./helloc
-c创建打包文件
-f指定打包文件名

tar -tf ./hello.tar
-t查看打包中的所有文件

tar -f ./hello.tar --delete ./helloa
--delete删除打包文件中的某一个文件

tar -f ./hello.tar -A ./hallo.tar
-A合并两个打包文件

tar -f ./hello.tar -r ~/hallo
-r给打包文件添加新的文件

tar -xf ./hello.tar -C ~/Music
-x解包
-C指定解包路径



 

压缩命令gzip



gzip -x ./helloa
-x其中x为1到9中的任一一个数,表示压缩比
压缩后的文件后缀默认为.gz

tar -czf hello.tar.gz ./helloa ./hellob ./helloc
-czf打包压缩一体操作
.tar.gz采用两种命令的文件名

tar -xzf hello.tar.gz
-xzf解包解压缩



 

查找命令

locate:速度快,linux系统将所有文件名都记录在/var/ib/mlocate的数据库中,而locate命令就是在其中查找名字,而数据库每天更新一次,由于数据库不是实时更新因此会出现已删除文件或新增文件查找不出的情况

find:遍历硬盘查找匹配文件



find / -name passwd
-name查找文件名为标准完整的名字

find /bin -type l
-type根据文件类型查找

find /tmp -mtime -3 -ls
-mtime -3时间为3天内
find /tmp -mtime +7 -ls
-mtime +7时间为7天前
find /tmp -mtime 4 -ls
-mtime 4时间为4天前那天

-mtime文件修改时间-天数
-mmin小时

-amin文件被读取/执行时间-天数
-atime小时

-ctime文件属性修改时间-天数
-cmin小时

find /tmp -size -3k -ls
find /tmp -size +100c -ls
find /tmp -size 10M -ls
-size按照文件大小查找-k千字节/c字节/M兆/G千兆

find /tmp -user root -ls
find /tmp -uid 500 -ls
find /tmp -ugroud stu -ls
find /tmp -gid 0 -ls
根据用户名称/用户id/用户组/用户gid查找文件

find /tmp -perm 754
-perm查找权限为754的文件
find /tmp \(-size +1k -a -size -10M -a -mmin -30 -a -type f \) -ls
查找大小在1k到10M之间、在30分钟内、类型为f的文件
最后使用\进行转义

find /tmp \(-size +1k -a -size -10M -a -mmin -30 -a -type f \) -exec rm -rf {} \;
查找大小在1k到10M之间、在30分钟内、类型为f的文件,并将文件删除掉

-exec到\;表示扩展命令的开始和结束
rm -rf 表示具体命令
{}表示查找到的文件
可以用-OK代替-exec

区别在于-OK更为安全,其在执行每一个文件时都会询问一次

find /tmp \(-size +1k -a -size -10M -a -mmin -30 -a -type f \) -OK rm -rf {} \;



 

通配符



*代表任意长度的字符串
cp /tmp/*.txt ~

?代表任意单个字符
cp /tmp/??.sh ~
复制名字只有两个字符串的sh文件到家目录~

[c1-c2]代表c1到c2之间的任意单一字符
cp /tmp/file[0-9].txt ~
chmod 700 /tmp/script[a,l,x].sh
将所有tmp文件夹下scripta/scriptl/scriptx.sh权限设置为700

{string1,string2,...stringn}代表匹配其中任意字符串
rm -rf {script,file}*.sh
删除所有script和file开头的所有sh文件

!取反
tar -cf file.tar /tmp/file[!0-9].txt
打包除file0到file9外的所有txt文件



 

查看文本文件



cat
查看文件
创建文件
连接文件

less
适用较大文件
/关键字
n和N跳转关键字

head
head -n 20 ~/message查看文件头20行
head ~/message默认显示头十行
tail查看文件末尾几行
查看日志文件的开头和结尾



 

Unix程序设计准则:

1)一次只做一件事,并将一件事做好

2)能够于其他程序协同工作

3)能够处理文本流

 

输入输出重定向

I/O Steam:

键盘输入:stdin标准输入流0->命令->终端命令行输出:stdout标准输出流1/stderr错误输出流2->流数据

centos 7z 解压系统iso centos7解压rar包的命令_开发工具_02

 

输出重定向



ls -l /tmp/exapmle/ 1> ./stdout.txt
结果没有任何输出在终端,其结果全部输出到了文本文件中
ls -l /tmp/exapmle/ 1>> ./stdout.txt
>>将输出衔接到文本的后面,而不是覆盖原本文件的内容
ls -l /tmp/exapmle/ 2> ./stdout.txt
重定向错误输出,实现功能和重定向标准输出一样
ls -l /tmp/exapmle/ &> ./stdout.txt
将文件的标准输出和错误输出重定向到同一个文件中

/dev/null
特殊文件,写入文件的内容都会被丢弃



 输入重定向:从文件中获取输入



tr标准输入中替换字符

tr ' ' '\t' <./hello.txt
将hello.txt中的用'\t'替换hello.txt文本文件中的' '输入终端命令行中

sort -k 按照关键字进行排序
sort -k2 <<EOF
EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
EOF一般会配合cat能够多行文本输出.



1)向文件test.sh里输入内容。
[root@slave-server opt]# cat << EOF >test.sh 
> 123123123
> 3452354345
> asdfasdfs
> EOF
[root@slave-server opt]# cat test.sh 
123123123
3452354345
asdfasdfs

追加内容
[root@slave-server opt]# cat << EOF >>test.sh 
> 7777
> 8888
> EOF
[root@slave-server opt]# cat test.sh 
123123123
3452354345
asdfasdfs
7777
8888

覆盖
[root@slave-server opt]# cat << EOF >test.sh
> 55555
> EOF
[root@slave-server opt]# cat test.sh 
55555

2)自定义EOF,比如自定义为wang
[root@slave-server opt]# cat << wang > haha.txt
> ggggggg
> 4444444
> 6666666
> wang
[root@slave-server opt]# cat haha.txt 
ggggggg
4444444
6666666



 

有点不是很理解这操作,需要再进一步思考



 

管道:将命令输出传入下一个命令



|管道命令使用这个命令来分割不同的命令

ls -al /etc |less
ls -al /etc |grep 'ssh'
这里执行了两个命令ls和less、以及ls和grep

cut ~/install.log| cut -c1,2
切割install文件并选择切割前两列字符

cut /etc/passwd |cut -f1 -d":"
cut -f1 -d":" /etc/passwd
-f表示以字符串为主来切割
-c表示以字符为主来切割
-d表示使用":"分隔切割字符串

wc /etc/passwd
wc统计文本行数、单词数、字节数
-l表示仅仅统计行数

ls -al ~| cut -c1 | grep "d" | wc -l
|管道来一次使用多个命令,管道协同

管道不会传递错误输出,遇到错误输出会直接输出终端



 

 

vi学习**重点过多可以慢慢整理



vim --version

阅读模式
编辑模式:
    输入i编辑、输入x删除、删除dd一行、撤回u、删除J换行符
    ctrl+x减小数字
  gg移动到文件首行、G移动到文件结尾行、0移动到当前首行、$移动到当前行尾
  3G移动到第三行行首、10$下移10行并定位到行尾
命令行模式:
  输入shift+;
  退出q、保存修改w
  设置行号set nu/取消设置行号set nonu
  直接输入xxx表示查询字符
  e!将所有操作撤除



 

 

用户和用户组

Linux通过一个UserID(UID)来识别用户:除了管理员用户root,也有虚拟用户bin/ftp/mail,使用者用户

组用户GroupID(GID),只能存在一个主用户组



id lpf
finger lpf
两者显示的用户信息不同

su
切换到root用户

useradd -c 用户备注 -u 用户UID -d 用户家目录 -g 主用户组 -G 从属用户组 -s 用户bash lg
passwd lg
usermod -c -d -G -s -u 修改用户的各个属性
userdel lg 删除用户

groupadd -g GID liufri
usermod -G liufri
groupmod -g GID -n 用户组名称 修改用户组GID和用户组名称
GID修改其很容易造成系统混乱
groupdel liufri



 

 

 让渡用户权限



vi /etc/sudoers
修改用户权限

root        ALL=(ALL)        ALL
lpf          ALL=(ALL)        ALL    
lg           mooc=(root)      /sbin/shutdown -h 5
%group_p mocc=(root)    /sbin/shutdown -h 5

sudo -u root xxxx
使非root用户可以使用root命令



 

 



四组重要额定配置文件

/etc/passwd
存放用户花名册:用户名:x密码:UID:GID:用户描述:用户家目录:用户使用shell

/etc/shadow
为passwd的影子文件,和passwd文件存放信息互补,两者合一为完整信息
用户名:加密后的密码:密码最后一次修改时间:密码修改最小时间间隔:密码修改的最大时间间隔:密码失效警告时间:用户最长不活动用户:用户失效时间(默认为空即不启用改功能):保留字段

/etc/group
存放用户组信息:用户组名:x密码:GID:从属该用户组用户列表

/etc/gshadow
为group的影子文件
用户组名:!密码:组管理者:从属于该用户组的用户列表



 

硬盘

/dev/xxy

xx表明硬盘的类型,sd采用SCSI/SATA/USB硬盘,hd采用IDE硬盘

y表明使用硬盘的第几个接口,有a-z有接口

/dev/xxyn

n表示分区,有1-4主分区、5以后为逻辑分区



fdisk -l /dev/sda



 

 

 硬盘分区和格式化



fdisk /dev/sdb

>n
>p主分区
>1分区号
>+100G

>n
>e
>2
>空可以分配余下所有空间>n
>l
>+64G

>n
>l
>+64G

>n
>l
>空可以分配余下所有空间

>w
>fdisk -l /dev/sdb

>mkfs -t ext4 /dev/sdb1
>mkfs -t vfat /dev/sdb1
格式化

mkswap /dev/sdb7
格式化一个标准分区



 

 

手动挂载分区



mount -t分区类型 ext4分区文件系统格式 /dev/sdb1挂载分区名 /lpf/hgfs挂载点
PS:只有根用户才可以挂载
-o挂载后的行为
mount -t ext4 -o ro /dev/sdb5 /lpf/douw
rw可读可写默认
ro只读
以只读的方式挂载sdb5
unmount /dev/sdb8
卸载挂载点

被挂载的文件夹在挂载分区后无法访问,尽量将分区挂载在空目录下,且固定分区挂载的文件夹



 

自动挂载分区



/etc/fstab

UUID/挂载设备名    挂载点挂载目录    挂载分区文件类型ext4/SWAP/iso9600        挂载参数    Dump参数    开机检查分区次序1最优

使用UUID可以避免多次调用分区造成分区加载顺序改变,挂载失败
blkid可以查看所有设别的UUID



 

管理网络接口



ifconfig查看网络接口
eth0表示网络接口名称/Linkencap网络连接类型/Ethernet以太网/HWaddr表示网络接口的硬件地址/Inetaddr网络接口ip地址/Bcast网络广播地址/Mask子网掩码/inet6addr网络接口的ipv6地址/UP BROADCAST RUNNING MULTICAST表示网络接口的运行状态/MTU:1500Metric:1表示当前接口的最大数据传送单元大小和接口度量值
RX/TX packets:表示网络接口收发包的情况
collisions:表示数据传输发生冲突的次数

lo:不是一个真正的网络接口,是一个模拟出来的接口,是回环接口(loop)
其ip永远为127.0.0.1,子网掩码为255.0.0.0
为系统提供一个单机网络环境,一般用于网络程序的调试



ifconfig -a
显示所有的网络接口,无论是否被启用

ifconfig eth up
开启eth1接口

ifconfig eth1 192.168.16.125 netmask 255.255.255.0
配置eth1的ip地址和子网掩码

ifconfig eth1 mtu 5000
配置eth1的mtu值

以上的参数设置会由于重启网络接口而被重置

service network restart
开启网络接口

ifconfig eth1 down
关闭eth1网络接口



 

 

IP地址:IPAddress/192.168.71.128

子网掩码:Network Mask/255.255.255.0

网关:Gateway/192.168.71.2

DNS地址:DNSAddress/192.168.71.2

主机名:HostName/mooc.nbcc.cn



systerm-config-network
配置以上参数

cd /etc/sysconfig/network-scripts/
vi ifcfg-ethN
N为数字

BOOTPROTO=static
不使用DHCP协议来配置网络接口,而是采用静态配置
IPADDR=192.168.71.128
GATWAY=192.168.71.2    
NETMASK=255.255.255.0
DNS1=192.168.71.2

一台主机中默认的网关GATWAY只能有一个
多个网络接口下最后一个网络接口网关生效

ping
确定是否可以连接上网关

ping -c N 主机名/主机IP
-c指定PING的包数

dig查询域名参数

vim /etc/sconfig/network
HOSTNAME=xxxx

vim /etc/hosts
192.168.71.128本机IP地址和www.mooc.com对应主机名



 

 

DHCP为主机自动配置网络参数



vim /etc/sysconfig/network-scripts/ifcfg-ens33 

BOOTPROTO=DHCP
取消IPADDR/GATWAY/NETWORK/DNS1的配置
其会为DHCP服务器指定主机名HOSTNAME/DNSADDRESS-NDS服务器地址

service network restart
重启网络参数



 

 

用RPM管理软件包

RPM红帽软件包管理器red hat packet manager

 

在RPMfind.net寻找安装包

 

RPM包



tsclient - 2.0.0-10.el6 .x86_64/i386/i586/i686/noarch适用于所有架构
软件包名称 - 版本号 - 适用硬件架构

wget ftp://rpmfind.net/linux/sourceforge/s/sn.....
获取网络地址的下载

rpm -q opera
-q:查询软件包是否安装

rpm -ivh ./opera-12.16-1860.x86_64.rpm
-ivh:i安装/v显示安装信息/h输出#作为进度条

rpm -e opera-12.16-1860.x86
-e:卸载,同时完整输入软件包名称

软件包依赖问题:
rpm中的二进制文件是编译好的,所以要安装一个包需要重现其安装环境

引入yum解决rpm软件包依赖问题

yum黄狗更新器
先从heade中查询依赖关系,解析依赖关系,再从yum服务器上下载到其相关安装包

yum clean all
清楚yum的依赖关系
yum makecache
存储yum服务器上的依赖关系

yum install gcc-c++
安装
yun list gcc-c++
查询软件包是否安装
yum list gcc *

yum list installed|less
列出所有主机上已安装好的软件包
yun list available
列出当前所有可安装的软件包

yum info gcc-c++
查询gcc-c++信息

yum update python
更新python软件包

yum remove gcc-c++
删除该软件包



 

yum管理第三方软件包源

centos中的官方软件源:不包含有版权争议的软件包、不包含不稳定版本的软件包

 

著名第三方源:EPEL源、Remi源、ATrpms源、RPMFusion源、RepoForge源、ELRepo源



wget http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
下载安装软件包

rpm -ivh ./rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
安装软件包

cd etc/yum.repos.d/
yum install yum-plugin-priorities

vim /etc/yum.repos.d/CentOS-Base.repo 
在每个仓库末尾添加priority=1
vim /etc/yum.repos.d/rpmforge.repo 
在每个仓库末尾添加priority=10,,表示优先级低于centos仓库

yum install mplayer mplayer-gui
安装mplayer软件



 

 



Error: Package: mplayer-1.0-0.48.svn20100703.el6.rf.x86_64 (rpmforge)
           Requires: libopenjpeg.so.2()(64bit)
Error: Package: mplayer-1.0-0.48.svn20100703.el6.rf.x86_64 (rpmforge)
           Requires: libesd.so.0()(64bit)
Error: Package: librtmp-2.3-1.el6.rf.x86_64 (rpmforge)
           Requires: libgnutls.so.26()(64bit)
Error: Package: librtmp-2.3-1.el6.rf.x86_64 (rpmforge)
           Requires: libgnutls.so.26(GNUTLS_1_4)(64bit)
Error: Package: mplayer-1.0-0.48.svn20100703.el6.rf.x86_64 (rpmforge)
           Requires: libartsc.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest



 

 

管理和控制进程



ps查看进程process-status

ps -A
-A列出所有进程
PID进程ID-TTY进程所使用的终端(?表示不占用终端)-TIME表示进程所持续的时间-CMD表示程序对应的程序名

ps -Af
UID由哪个用户运行的进程-PID-PPID进程父ID-C表示占用主机CPU计算资源的比例(通常为0)-STIME进程开始运行时间-TTY-TIME-CMD

父进程

kill PID 
杀死进程

ps -Af|grep sshd
查找名称中带有sshd的进程

ps -Al
-l列出完整进程信息
F进程旗标-S进程运行状态-UID-PID-PPID-C-PRI进程优先级-NI进程nice值-ADDR进程存储地址-SZ进程占用内存大小-WCHAN表示进程是否在运行-TTY-TIME-CMD

top动态监视进程,每3秒刷新一次
分为整体性能和详细实时进程信息
PID-USER进程发起者-PR进程优先级-NI-VIRT表示进程使用的虚拟内存总量(单位kb)-RES进程使用的未被换出的物理内存大小(单位kb)-SHR共享内存大小-S进程运行状态-%CPU占用CPU百分比-%MEN进程使用的物理内存百分比-TIME+系统使用进程时间总和-COMMAND

排序:M内存占用降序/N降序PID/P降序CPU/R当前排序反向/><选择排序



 

 



kill -l
-l列出所有信号
kill会发出相应的信号来控制进程
15)SIGTERM进程终止信号 默认
9)SIGKILL强制终止信号

kill PID

kill -9 PID

pkill firefox
plill -u lpf

xkill
图形界面里的进程管理



 

 

前台进程

后台进程:不占用终端,即运行了也可以使用终端命令行

守护进程:后台运行的周期性进程,例如ApacheHttpServer(httpd)



chkconfig --list
查询系统服务



运行级别: 0关闭或停止系统 1单用户模式 2没有联网的多用户模式 3联网的多用户模式 4保留暂未使用 5联网并且使用图形界面的多用户模式 6重启系统




service httpd status
查询httpd进程状态

service httpd start

只有根用户有权限执行service

service httpd
查看6个运行级别的状态是开启还是关闭

chkconfig --level 35 httpd on
开启自启动httpd的35运行模式



 

 

SSH协议SecureSHell:主要提供安全的远程登陆和数据传输服务,采用全程加密

Rlpgin/Telnet协议:使用明文传输数据,会被中间人攻击



yum list installed |grep openssh

yum - install openssh

service sshd status

service sshd start

chkconfig --list sshd

chkconfig --level 35 sshd on



 

 

配置openssh服务器文件/etc/ssh/sshd_config

插入

PeimitRootLogin no
PeimitEmptyPasswords no
ClientAliveInterval 30
ClientAliveCountMax 4



service shhd restart



 

 

PuTTY:配置

 



vim /etc/ssh/sshd_config

修改
PasswordAuthentiction no

ssh_keygen -t rsa

cd ~/.ssh
cat ./id_rsa.pub >> authorized_keys
chmod 400 ./authorized_keys