!guide_close_btn!

每个极客都应该知道的Linux技巧(十)

哈哈嘻嘻 2015-10-16 09:31:25 最新回复:2015-10-16 16:21:29
2157 2 0 0

到底是什么区分开普通的Linux用户和超级极客的呢?很简单:用在学习那些使长时工作转变为一瞬间工作的技巧、诀窍、秘诀和技术上的时间。如果你想提高效率而又不用做这些搜集资料的跑腿活儿,那接下来的内容可以帮助你更潇洒地工作,并且最大限度的利用你的电脑。本文中收集了50多条简单易学的Linux技巧,每天讲解5条,你开始享受这场饕餮盛宴吧!


46:强化ssh

难度:简单

应用程序:ssh

尽管SSH是一个非常安全的连接服务器的方式,这里还有两个简单的改变,可以让你进一步增强它的安全性。首先,你当然不希望别人直接以root用户登入——他们应该以普通用户登陆,然后使用su命令来转换。你可以在/etc/ssh/ssh_config 文件中通过添加如下代码改变这个件事:

  1. PermitRootLoginno 

现在唯一能得到root特权的方式是通过su,这意味着入侵者现在需要破解两个密码来得到全部的使用权。当你编辑这个文件时,找到这样一行:

  1. Protocol 2, 1 

然后把它改为如下:

  1. Protocol 2 

这将消除最初的SSH协议中的撤销选项,现在被认为是非常易于攻击的。

47:停止回应ping

难度:简单

应用程序:sysctl

ping在找出网络拓扑结构时是非常有用的命令,缺点是它只能做这件事,而且会使得网络上的黑客们更容易瞄准现场服务器。但是你可以告诉Linux忽略所有的ping服务器将不会回应。这里有很多的方法来实现它,但是最好的是使用sysctl。关掉ping回应:

  1. sysctl -w net.ipv4.icmp_echo_ignore_all=1

想要打开它,使用:

  1. sysctl -w net.ipv4.icmp_echo_ignore_all=0

关掉ping对你来说是非常严重的,看看接下来的技巧。

48:降低ping速率

难度:简单

应用程序:sysctl

可能你想要保持服务器回复ping的功能,但是又想从被熟知的“ping flood”(封包洪流)的攻击中保护自己。那么你要如何完成这一壮举呢?最简单的方法是降低回应ping服务器的速率。它们仍然是有效的,但不会使服务器过载。

  1. sysctl -w net.ipv4.icmp_echoreply_rate=10

当回复被当作一个信号地址发送时,这将会降低速率。

49:当登出的时候清理KDE

难度:简单

应用程序:bash

在Windows中有很多程序会做一些清除网络缓存,移除临时文件事情。Linux上如果也可以这样是不是很cool呢?使用KDE,你甚至不需要安装任何新的软件,startkde脚本将会自动的执行你放在特殊地方的脚本。

首先,你需要在你的.kde目录下创建一个命令shutdown的目录:

  1. mkdir /home/username/.kde/shutdown 

现在创建一个脚本,用来在关机时执行一些你想要的事情。这里是一个例子:

  1. #!/bin/bash 

  2. #clear up temp folder 

  3. rm -rf ~/tmp/* 

  4. #clear out caches 

  5. rm -rf ~/.ee/minis/* 

  6. rm -rf ~/.kde/share/cache/http/* 

  7. # delete konqueror form completions 

  8. rm ~/.kde/share/apps/khtml/formcompletions 

现在确保你设置了正确的权限:

  1. chmod ug+x ~/.kde/shutdown/cleanup.sh 

(或者随便你叫它什么)。可以清除敏感文件,也可以通过将脚本放在你的默认KDE文件夹中有一个名为shutdown的子文件夹里,给所有用户一个全局的关机脚本。找出你的默认KDE目录在哪里,试一下:

  1. kde-config --path exe 

50:无密码的ssh

难度:中等

应用程序:ssh

厌烦了每次登陆你的服务器时都要输入密码?ssh也支持密钥,所以当你登陆桌面时你只能输入你的密码。在你的桌面机器上生成一个密钥对:

  1. ssh-keygen -t dsa -C your.email@ddress 

为你的密钥输入一个口令。这会将密钥放到 ~/.ssh/id_dsa and the public key in ~/.ssh/id_dsa.pub中。现在看看你是否有了一个正在运行的ssh-agent。

  1. echo $SSH_AGENT_PID 

如果安装了ssh-agent,大部分窗口管理器都会自动运行它。如果没有安装,开启一个:

  1. eval $(ssh-agent) 

现在,告诉这个代理你的密钥:

  1. ssh-add 

然后输入你的口令。你需要在每次登陆时都输入口令,如果你是使用X,尝试添加:

  1. SSH_ASKPASS=ssh-askpass ssh-add 

到你的.xsession文件。(你可能需要安装ssh-askpass)现在为每个你需要登入的服务器都创建这个目录 ~/.ssh,然后复制这个文件~/.ssh/id_dsa.pub into it as ~/.ssh/authorized_keys 。如果你是手动开启ssh-agent,当你登出时,使用如下代码终止它:

  1. ssh-agent -k 

点评 回复

全部回复

l84049381
l84049381 2015-10-16 16:21:29

谢谢分享 +1

点评 回复

hiking
hiking 2015-10-16 09:48:37

好资料多谢分享

点评 回复

回复

您需要登录后才可以回帖 登录 | 注册
发表回复

内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“用户协议

My Followers

登录参与交流分享

登录

屏蔽
!block_confirm_cont!
温馨提示
!bind_my_phone_cont!