Loading... 1.远程连接linux的原理 1.1SSH远程连接介绍(SSH协议是Secure Shell Protocol的缩写) SSH是专门为远程登录会话和其他网络服务提供的安全性协议.SSH两个不兼容的版本SSHv1和SSHv2,默认端口是22 SSH分为客户端和服务端: SSH客户端: windows平台的SecureCRT,xshell,putty SSH服务端: [root@centos6 tmp]# rpm -qa openssh openssl openssl-1.0.1e-30.el6.x86_64 openssh-5.3p1-104.el6.x86_64 查看进程:ps -ef|grep 进程 查看端口:netstat -tlunp 查看 IP:ifconfig/ip add 1.2早期远程连接工具telnet(密码不加密,默认端口是23) 1.3通过SSH远程连接linux主机的故障 1)SSH服务连通性检查: a.物理链路是否通畅 ping server_ip <==ICMP协议,默认64字节包 b.服务是否正常 telnet sever_ip port===>telnet 192.168.2.110 22 不通:1.检查防火墙是否开启 2.SSH服务是否开启 /etc/init.d/iptables stop === service iptables stop c.客户端与服务端是否在一个网段. 2.windows和linux互传文件 ftp/winscp/http/rz-sz rz 回车 选择要上传的文件(不能是目录) sz 文件 回车,下载的路径CRT指定的路径 -y 覆盖 ########################################################## 查看系统版本信息: [root@centos6 ~]# cat /etc/redhat-release CentOS release 6.6 (Final)版本 [root@centos6 ~]# uname -r 内核 2.6.32-504.el6.x86_64 [root@centos6 ~]# uname -m 32位还是64位 x86_64 [root@centos6 ~]# uname -n 主机名 centos6.6 [root@centos6 ~]# hostname 主机名 centos6.6 linux多任务,多进程,多CPU,多用户. 台湾:平时管理电脑只用普通用户,禁止用root管理员 50%事故来自内部 运维:不出问题,老板看不见;出问题,罪人. 思想:做有价值的运维人员. #################安装linux系统后调优及安全设置(简单):######################## 首先添加一个普通用户 [root@centos6 ~]# useradd oldboy [root@centos6 ~]# passwd oldboy 1.关闭SELinux功能 SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现. 配置文件路径:/etc/selinux/config ###enforcing强制 permissive放任 disabled关闭#### 修改配置文件方式: a.vi编辑器修改 b.sed命令修改 [root@centos6 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config [root@centos6 ~]# getenforce(查看当前selinux状态) Enforcing [root@centos6 ~]# setenforce 0 [root@centos6 ~]# getenforce(设置selinux状态 1启用,执行 0警告,不启用) Permissive 2.设置系统运行级别 inittab是系统运行级别配置文件 配置文件路径:/etc/inittab 0 - halt (Do NOT set initdefault to this)===>关机 1 - Single user mode===>单用户模式 2 - Multiuser, without NFS===>多用户,不含nfs 3 - Full multiuser mode===>命令行模式 4 - unused===>未使用 5 - X11===>桌面模式 6 - reboot (Do NOT set initdefault to this===>重启 查看当前运行级别: [root@centos6 ~]# runlevel N 3 设置运行级别: [root@centos6 ~]# init 5###数字表示要调整的级别号 3.精简开机自启动服务 [root@centos6 ~]# for name in `chkconfig --list|awk '{print $1}'|grep -Ev "sshd|network|crond|rsyslog|sysstat"`;do chkconfig $name off;done [root@centos6 ~]# chkconfig --list|grep "3:on" crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off 4.更改SSH服务远程登录的配置 Windows服务器的默认配置远程管理关口是3389,管理员Administrator Linux服务器的默认配置远程管理端口是22,管理员root ##修改Linux远程登录SSH配置方法: a.修改前备份 [root@centos6 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.oldboy.20151121 b.修改配置文件参数(linux里面#表示注释,没有什么实际意义) ###by yujianfeng##20151121### port 52113 修改默认端口为52113 UseDNS no 不使用DNS解析,连接更快 PermitRootLogin no 禁止root远程连接 ListenAddress 192.168.2.110 监听内网IP,只能从内网IP远程连接登录 PermitEmptyPasswords no 禁止空密码登陆 GSSAPIAuthentication no 解决SSH远程连接慢的问题 ##by yujianfeng##20151121### 5.利用sudo控制用户对系统命令的使用权限 sudo配置文件:/etc/sudoers 配置sudo权限方法: 1.visudo(这个更好,有检查语法的功能) 2.vi /etc/sudoers(不推荐,修改错误没提示或修改后执行visudo -c) 在/etc/sudoers 98行添加:oldboy ALL=(ALL) ALL ####利用sudo分配给普通用户权限以root的权限执行#### ****内置命令用sudo管理不了,没有路径***** 6.Linux中文字符集设置 字符集就是一套文字符号及其编码.Linux下常用的字符集有: UTF-8 非定长,1-4字节,广泛支持,MYSQL也支持UTF-8,企业广泛应用 GBK 定长,双字节,不是国际标准,支持的系统不多,实际的企业用的不多 字符集配置文件:/etc/sysconfig/i18n [root@centos6 ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8"###英文字符集,一般不建议修改成中文字符集.### SYSFONT="latarcyrheb-sun16" 修改字符集: a.修改前备份: cp /etc/sysconfig/i18n /etc/sysconfig/i18n.oldboy.20151121 b.修改配置方法:sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n c.使修改生效: source /etc/sysconfig/i18n(或. /etc/sysconfig/i18n) d.查看字符集: echo $LANG 7.设置Linux服务器时间同步 同步互联网时间: /usr/sbin/ntpdate time.nist.gov 利用定时任务同步系统时间: [root@centos6 ~]# crontab -l #ntpdate time by yujianfeng at 2015/11/21 */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1 8.历史记录数及登录超时环境变量设置 1)设置限制账号超时时间 #####临时生效###: [root@centos6 ~]# export TMOUT=300 [root@centos6 ~]# timed out waiting for input: auto-logout ##要想永久生效: [root@centos6 ~]# echo "export TMOUT=300" >>/etc/profile [root@centos6 ~]# source /etc/profile 2)设置Linux默认历史记录数 设置历史记录数: 临时生效: [root@centos6 ~]# export HISTSIZE=100(控制当前命令行历史记录数量变量) [root@centos6 ~]# export HISTFILESIZE=100(控制.bash_history历史记录文件命令数量变量) 永久生效:使用echo追加进/etc/profile文件,source /etc/profile生效 9.加大文件描述符 文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件. 查看默认文件描述符方法: [root@centos6 ~]# ulimit -n 1024 调整文件描述符: 1.[root@centos6 ~]# ulimit -SHn 65535 ####临时生效,重启后消失### [root@centos6 ~]# ulimit -n 65535 [root@centos6 ~]# logout [oldboy@centos6 ~]$ ulimit -n 1024 2.修改配置文件:/etc/security/limits.conf ####永久生效,修改配置文件#### [root@centos6 ~]# echo "* - nofile 65535" >>/etc/security/limits.conf [root@centos6 ~]# ulimit -n 65535 10.调整内核参数优化的文件 配置文件:/etc/sysctl.conf 调整方法: vim /etc/sysctl.conf 添加: #by yujianfeng in 20151121 net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_keepalive_time =600 net.ipv4.ip_local_port_range = 4000 65000 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.route.gc_timeout = 100 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1 net.core.somaxconn = 16384 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_orphans = 16384 #以下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。 #net.ipv4.ip_conntrack_max = 25000000 #net.ipv4.netfilter.ip_conntrack_max = 25000000 #net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180 #net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120 #net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60 #net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120 #####以上是添加的优化选项#### sysctl -p ###执行这条命令使之生效#### 11.定时清理邮件服务临时目录垃圾文件. centos5.x /var/spool/clientmqueue centos6.x /var/spool/postfix/maildrop/ 12.隐藏linux的版本信息 系统信息文件:/etc/issue 隐藏方法:>/etc/issue或 cat /dev/null >/etc/issue 并且修改:vim /etc/motd 添加系统相关的信息,迷惑别人 13.锁定关键系统文件,防止提权被篡改 锁定的系统关键文件:/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 锁定方法:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 查看方法:lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 还可以把chattr移动改名:mv /usr/bin/chattr /opt/oldboy 更安全点了 14.清除多余的系统虚拟账号 在/etc/passwd中确定不需要的虚拟账号可以注释掉 15.为grub菜单加密码 [root@centos6 ~]# /sbin/grub-md5-crypt Password: Retype password: $1$MqAtW$XpKG2O6jhk8ZbFqAWbzvy0 16.禁止Linux系统被ping echo "net.ipv4.icmp_echo_ignore_all=1" >>/etc/sysctl.conf sysctl -p 一般不建议禁ping,调整防火墙即可 17.修改系统yum源 把默认的centos源改成国内的yum源 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信