人若无名,便可专心练剑

 ssh 标签

将上周用于github登录的ssh-key用于自己的远程服务器免密码登录

  |   0 评论   |   2,337 浏览

上一篇:http://www.c2y2.org/articles/2014/06/14/1402726550534.html

前情:上周生成了ssh密钥用于github的免密码登录,:-),由于自己每次管理服务器时都习惯于输入密码

:-),no zuo no die,算了还是解脱哈吧。


注意:配置ssh公钥和私钥时一定要注意相应目录的权限,否则可能导致没法免密码登录(原则系统当前用户~/.ssh 具有读写权限 不能扩大到其他组别或者其他用户)

         其实只要我们自己没去改过权限,一般默认的都是可以使用的。

      一般权限设置如:

        设置authorized_keys权限
        $ chmod 600 authorized_keys 
        设置.ssh目录权限
        $ chmod 700 -R .ssh

操作步骤:
1,首先将~/.ssh/id_rsa.pub 的内容复制出来,然后复制到远程服务器上,并在其~/.ssh/目录下建立authorized_keys文件,将内容复制到其中,然后保存,并授权(权限自己可写可读)
2,然后回到本地就可以直接ssh连接了,不过第一次时,会让我们输入我建立密钥时设置的密码,验证通过了才能成功进行登录,然后成功后,以后每次登录基本都不需要
      输入密码了,不过貌似,换你ip后,第一次连接还是会让你输入一次密钥的密码的。不过比起每次都输入来说已经相当不错了。:-),算是解放了哈



linux root账户登录邮件提醒功能

  |   0 评论   |   2,993 浏览

由于我们监控的是root帐户,因此我们需要在其环境变量(推荐 .bashrc)配置上加入如下shell


echo "登录ip地址:" `netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $1}'` "登录ip端口:" `netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $2}'` |mail -s "`w`" c2y2@qq.com


1,过滤出所有登录ssh端口的网络连接得到ip地址:


netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $1}'
2,过滤出远方ip连接服务器22端口的远端端口:



netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $2}'
3,设置邮件标题:内容为具体登录情况



mail -s "`w`" abcd@qq.com
4,发送邮件



echo "登录ip地址:" `netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $1}'` "登录ip端口:" `netstat -atlnup|grep ":22"|awk '{print $5}'|grep  '[^1.0.0.0.0:*]'|awk -F ":" '{print $2}'` |mail -s "`w`" c2y2@qq.com
这样服务器只要登录root账户,那么系统就将发邮件给管理员邮箱。^_^


使用前提:必须配置mail客户端,且能正常使用