Disable IPv6 on ssh client

问题起于我要经ssh 连git.dn42.us, 比较特别的是我的机器(vps)上启用了IPv6
OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /home/seven/.ssh/config
debug1: /home/seven/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to git.dn42.us [2607:5300:60:3d95::1] port 22.
以上是ssh的输出。 可以看到是通过IPv6连接的,死活不通。
于是禁用IPv6
~/.ssh/config
Host *
    AddressFamily inet
It works fine.

Share
分类: 随笔 | 63 个字

明·杨仪《明良记》

唐解元寅既废弃,诗云: ‘一失足成千古恨,再回头是百年人。’

比喻一旦犯下严重错误或堕落,就成为终身的憾事。

Share

非主流VPN方案

常见的VPN(OpenVPN、SSTP、IKEv2、CiscoIPsec、PPTP、GAE、L2TP)已经受到GFW干扰。

如果还要坚持用VPN的方式来翻墙,请使用以下VPN方案

Tinc VPN:http://www.tinc-vpn.org/

SigmaVPN:http://code.google.com/p/sigmavpn/

SSHVpn:http://sshvpn.sourceforge.net/

SocialVPN:http://code.google.com/p/socialvpn/

BadVpn:http://code.google.com/p/badvpn/

N2n:http://www.ntop.org/products/n2n/

Embedded VPN:http://embeddedvpn.com/

TeamViewer:http://www.teamviewer.com/zhcn/download/windows.aspx

cjdns:http://cjdns.info/

FairVPN:http://minerva.netgroup.uniroma2.it/fairvpn

GVPE:http://software.schmorp.de/pkg/gvpe.html

QuickTun:http://wiki.qontrol.nl/QuickTun

VTun:http://vtun.sourceforge.net/

sshuttle:https://github.com/apenwarr/sshuttle

LogMeIn Hamachi:https://secure.logmein.com/products/hamachi/

PacketiX VPN:http://igfw.net/archives/8315

udpip:http://igfw.net/archives/7756

Share

我们熟知的那些英文,你念对了么?[FW]

()标相应英文单词

[]标音标
=====公司/产品名=====
Youtube (You-tube [tju:b]) 念 优tiu啵 不念 优吐毙
Skype [ˈskaɪp] 念 死盖破 不念 死盖屁
Adobe [əˈdəʊbi] 念 阿兜笔 不念 阿斗伯
Chrome [krəʊm] 念 克肉姆
C# (C Sharp) 念 C煞破
GNU [(g)nuː] 念 哥怒
GUI [ˈɡui] 念 故意
JAVA [ˈdʒɑːvə] 念 扎蛙 不念 夹蛙
AJAX [ˈeɪdʒæks] 念 诶(ei)贾克斯 不念 阿贾克斯
Ubuntu [uˈbuntuː] 念 巫不恩兔 不念 友邦兔
Debian [ˈdɛbiən] 念 得(dei)变
Linux [ˈlɪnəks] [ˈlɪnʊks] 两种发音 丽娜克李扭克斯 都可以
LaTeX [ˈleɪtɛk] [ˈleɪtɛx] [ˈlɑːtɛx] [ˈlɑːtɛk] 雷泰克拉泰克 都可以 (根据Knuth的建议,雷泰克斯拉泰克斯不正确。而且LaTeX的重音是放在上。感谢@Rio讨论。另外感谢发音大牛@梁海刚刚指出, [ˈlɑːtɛx] 注音符号里的x发的不是克斯的音,而是接近“巴赫”的那个。)
GNOME [ɡˈnoʊm] [noʊm] 两种发音 格弄姆 弄姆 都可以
App [ˈæp] 念阿破(与爱破也比较像,参见音标),不能把三个字母拆开念成A P P。
=====一般英语=====
null [nʌl] 念
jpg [ˈdʒeɪpɛɡ] 念 zhei派个 不念 勾屁记
WiFi [ˈwaɪfaɪ] 念 歪fai
mobile [moˈbil] [ˈmoˌbil] [ˈməubail] 膜拜哦牟bou 都可以
integer [ˈɪntɪdʒə] 念 音剃摺儿 不念 阴太阁儿
cache [kæʃ] 念 喀什 不念 卡尺
@ 念 at
=====感谢@Lawrence Li同学的补遗=====
Tumblr (Tumbler) 念 贪不勒
nginx (Engine X)念 恩静 爱克斯(@Lawrence Li有不同意见)
Apache [əˈpætʃiː] 念 阿趴气
Lucene [ˈluːsin] 念 鲁信
MySQL [maɪ ˌɛskjuːˈɛl] [maɪ ˈsiːkwəl] 念 买S奎儿买吸扣 都可以
Exposé [ɛksˈpəʊzeɪ] 念 埃克斯剖Z (重音在Z上)
RFID 【本条争议颇大】:有人念af rid, ri fid,但是RFID官方念法依然是四个字母分开读R F I D
JSON (jason) 念 zhei森
Processing [ˈprəʊsesɪŋ] 重音在Pro上

avatar [ˌævə'tɑr] 念 艾瓦塌儿

作者:Filestorm
链接:https://www.zhihu.com/question/19739907/answer/12960562
来源:知乎

著作权归作者所有,转载请联系作者获得授权。

Share

【“脏牛(Dirty Cow)”漏洞】CVE-2016-5195:Linux 内核本地提权漏洞 通告及修复

漏洞编号:CVE-2016-5195

漏洞名称:脏牛(Dirty COW)

风险等级:高危

漏洞危害:

黑客可以通过远程入侵获取低权限用户后,在服务器本次利用该漏洞在全版本Linux系统上实现本地提权,从而获取到服务器root权限。

漏洞利用条件:

黑客可以通过远程入侵获取低权限用户后,才能进一步在操作系统本地利用该漏洞。

漏洞影响范围

  1. Linux Kernel >= 2.6.22 的所有 Linux 系统

    意味着从 2007 年发布 2.6.22 版本开始,直到2016年10月18日为止,这中间发行的所有 Linux 系统都受影响。

    我们建议您使用以下方式自查是否存在此漏洞:

    • 使用安骑士“安全基线检查 – 高危漏洞应急检查 ”功能自动检查,修复漏洞后,可以自动验证修复是否成功:

      漏洞修复验证:

    • 使用uname –a查看 Linux 系统的内核版本,如:

      Linux AYxxxx 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

      上述内核版本2.6.32-431.23.3.el6.x86_64受漏洞影响。

      Linux AYxxxx 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux

      上述内核版本2.6.18-308.el5不受漏洞影响。

  2. 阿里云安全团队在第一时间针对 ECS 提供的 Linux 操作系统镜像进行测试,详细的受影响范围如下表:

漏洞修复方案

因为涉及到操作系统内核的升级,我们强烈建议您:正确关闭正在运行的服务,并做好业务数据备份工作。同时创建服务器磁盘快照,避免修复失败造成不可逆的影响。

1.CentOS 5/6/7 系列操作系统

阿里云已经更新了CentOS 5/6/7Aliyun mirror源,可以直接在默认配置下,您可以更新软件列表,随后一键升级内核:

1).检查是否有内核升级包:yum check-update |grep kernel

2).升级内核:yum update kernel

3).确认下新版本的内核或 initrd/initramfs 是否有xen-vbd和virtio_blk驱动:lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk

  • 查看补丁样例:

    #lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'(具体是版本而定,可以到cd /boot/ 目录下面查看对应的initrd文件(Centos5.1)或initramfs文件(centos6/7))

    # lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep  -i -E 'xen-blkfront|virtio_blk'-rwxr--r--1 root     root        23448Nov414:51 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/virtio_blk.ko-rwxr--r--1 root     root        54888Nov414:51 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/xen-blkfront.ko

4).如果有,则可以重启

5).如果没有,则需要给initrd/initramfs安装驱动,然后执行第三步后重启:

  • centos 5:

    #mkinitrd -f --allow-missing \--with=xen-vbd  --preload=xen-vbd \--with=xen-platform-pci --preload=xen-platform-pci \--with=virtio_blk --preload=virtio_blk \--with=virtio_pci --preload=virtio_pci \--with=virtio_console --preload=virtio_console \--with=hvc_console --preload=hvc_console \$target_initrd $vmlinuz

    (具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz)

  • centos 6、7 :

#mkinitrd -f --allow-missing \--with=xen-blkfront --preload=xen-blkfront \--with=virtio_blk --preload=virtio_blk \--with=virtio_pci --preload=virtio_pci \--with=virtio_console --preload=virtio_console \$target_initrd $vmlinuz

安装驱动样例(本样例以Centos6.8 64bit为准):

#mkinitrd -f --allow-missing --with=xen-blkfront --preload=xen-blkfront --with=virtio_blk --preload=virtio_blk --with=virtio_pci --preload=virtio_pci --with=virtio_console --preload=virtio_console initramfs-2.6.32-642.6.2.el6.x86_64.img 2.6.32-642.6.2.el6.x86_64

具体是版本而定,可以到cd /boot/ 目录下面查看,替换$target_initrd $vmlinuz

6).执行第三步后,查看是否有驱动,然后重启系统

# lsinitrd /boot/initramfs-2.6.32-642.6.2.el6.x86_64.img |grep -i -E 'xen-blkfront|virtio_blk'-rwxr--r--1 root     root        23448Nov416:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/virtio_blk.ko-rwxr--r--1 root     root        54888Nov416:21 lib/modules/2.6.32-642.6.2.el6.x86_64/kernel/drivers/block/xen-blkfront.ko

7).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证 注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -aLinux iZ2ze1zpafrqftmdfh0b3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

或者

#rpm -q --changelog kernel | grep 'CVE-2016-5195'-[mm] close FOLL MAP_PRIVATE race (LarryWoodman)[13851161385117]{CVE-2016-5195}

Ubuntu 系列操作系统

阿里云已经更新了Ubuntu mirror源,可以直接在默认配置下,您可以更新软件列表,随后一键升级内核:

1).查看是否有更新包:dpkg -l | grep linux

2).更新包列表:apt-get updateor apt update

3).升级内核: Ubuntu12.04版本:apt-get install linux-genericUbuntu14.04版本:apt-get upgrade或apt upgrade

4).然后重启系统

5).查看升级后的内核版本:uname -a或者zcat /usr/share/doc/linux-image-3.13.0-101-generic/changelog.Debian.gz | grep -i 'CVE-2016-5195',也可以使用云盾安骑士验证 注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -aLinux iZ2ze1zpaXXXXb3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26

或者

# zcat /usr/share/doc/linux-image-3.13.0-101-generic/changelog.Debian.gz | grep -i 'CVE-2016-5195'* CVE-2016-5195

3.Debian 系列操作系统

阿里云已经更新了Ubuntu mirror源,可以直接在默认配置下,您可以更新软件列表,随后一键升级内核:

1).查看是否有更新包:dpkg -l | grep linux

2).更新包列表:apt-get update

3).升级内核:apt-get upgrade

4).然后重启系统

5).查看升级后的内核版本:uname -a或者zcat /usr/share/doc/linux-image-3.16.0-4-amd64/changelog.Debian.gz | grep -i 'CVE-2016-5195',也可以使用云盾安骑士验证 注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -aLinux iZ2ze1zpaXXXXb3cZ 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

或者

# zcat /usr/share/doc/linux-image-3.16.0-4-amd64/changelog.Debian.gz |grep -i 'CVE-2016-5195'(CVE-2016-5195)

4.SUSE Linux Enterprise Server 系列操作系统(仅限购买SLES企业服务用户

1).使用http://mirrors.aliyuncs.com/SLES/SLES12-SP1-Updates/sle-12-x86_64/ 源进行更新,您可以编辑vim /etc/zypp/repos.d/SLES12-SP1-Updates.repo关闭其他更新源,即:修改http://mirrors.aliyun.com/SLES/SLES12-SP1-Updates/sle-12-x86_64/ enabled=0,然后更新列表:zypper refresh

2).安装最新内核:zypper install kernel-default xen-kmp-default

3).确认下新版本的内核或 initrd / initramfs 是否有xen-vbd和virtio_blk驱动:lsinitrd /boot/initrd-3.12.62-60.64.8-default | grep -i -E 'xen-vbd|virtio_blk'

  • 查看补丁样例:

    lsinitrd /boot/initrd-3.12.62-60.64.8-default | grep -i -E 'xen-vbd|virtio_blk'

    Arguments:--logfile --force --force-drivers 'xen-vbd xen-vnif xen-platform-pci.ko virtio virtio_console virtio_net virtio_blk virtio_pci'-rw-r--r--1 root     root        55335Sep2315:55 lib/modules/3.12.62-60.62-default/updates/blkfront/xen-vbd.ko-rw-r--r--1 root     root        31591Oct1904:40 lib/modules/3.12.62-60.64.8-default/kernel/drivers/block/virtio_blk.kolrwxrwxrwx   1 root     root           61Nov714:17 lib/modules/3.12.62-60.64.8-default/weak-updates/updates/blkfront/xen-vbd.ko ->../../../../3.12.62-60.62-default/updates/blkfront/xen-vbd.ko

4).如果有,可以重启

5).如果没有,则需要给 initrd / initramfs 安装驱动,然后执行第三步后重启:mkinitrd -k /boot/vmlinuz-3.12.62-60.64.8-default -i /boot/initrd-3.12.62-60.64.8-default(具体版本根据实际安装为准) 6).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证 注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -aLinux iZwz9cl4i8oy1pmjw7g4rxZ 3.12.62-60.64.8-default #1 SMP Tue Oct 18 12:21:38 UTC 2016 (42e0a66) x86_64 x86_64 x86_64 GNU/Linux

或者

# rpm -q --changelog kernel-default | grep 'CVE-2016-5195'- patches.fixes/mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user_pages.patch:(bnc1004418, CVE-2016-5195).

5.Open SUSE 系列操作系统

1).更新列表:zypper refresh

2).安装最新内核:zypper install kernel-default xen-kmp-default

3).确认下新版本的内核或 initrd / initramfs 是否有xen-vbd和virtio_blk驱动lsinitrd /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'

  • 样例:

    # lsinitrd /boot/initrd-3.12.62-55-default | grep -i -E 'xen-vbd|virtio_blk'

    lib/modules/3.12.62-55-default/kernel/drivers/block/virtio_blk.ko

    lib/modules/3.12.62-55-default/updates/blkfront/xen-vbd.ko

4).如果有,可以重启

5).如果没有,则需要给 initrd / initramfs 安装驱动,然后执行第三步后重启:# mkinitrd -k /boot/vmlinuz-3.12.62-55-default -i /boot/initrd-3.12.62-55-default(具体版本根据实际安装为准)

6).查看升级后的内核版本:uname -a或者rpm -q --changelog kernel | grep 'CVE-2016-5195',也可以使用云盾安骑士验证 注:更新完毕后可能会安装两个内核,但不影响系统运行。

# uname -aLinux iZwz9XXXshamswbvrZ 3.12.62-55-default #1 SMP Thu Oct 20 08:47:11 UTC 2016 (b0aa9a6) x86_64 x86_64 x86_64 GNU/Linux

或者

# rpm -q --changelog kernel-default | grep 'CVE-2016-5195'- patches.fixes/mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user_pages.patch:(bnc1004418, CVE-2016-5195).

6.CoreOS 系列操作系统

安装所有可用更新,包括新内核:

update_engine_client -update重启机器

7.重要提示

  • 1). 对于阿里云官方发布的其余系列的操作系统,Linux 官方正在研发漏洞对应的系统补丁,待补丁发布后,将系统更新到最新版本即可修复漏洞。

  • 2). 对于自定义镜像用户可以关注操作系统原厂商更新状态,自己根据自身业务判断升级内核,修复该漏洞。

参考资料

最后更新时间:2016.11.03 13:01

Share

openwrt ssh-key 登陆

linux上公钥的位置在 ~/.ssh/authorized_keys

但是openwrt毕竟不是linux,auth keys 位置放在  /etc/dropbear 目录下

so, 执行以下命令即可

ln -s ~/.ssh/authorized_keys /etc/dropbear/authorized_keys

Share