ssh证书登录之ecdsa

同事给了个公钥证书文件pub,让做ssh的证书登录 pub内容如下: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOoPPzVZkUUTPEEFueJzAxxxxxxxxEjiaskInSoMzJjEuo0zMZHVK8UqQPlFQcXPnW2+GgYigL2Q= 傻眼了一下,一般证书的公钥都是如下的格式: ssh-rsa AAAAB3NzaC1...... 查了一下,这个pub key原来是这么gen出来的: ssh-keygen -t ecdsa 剩下就简单了,证书登录方法和rsa的做法一样,放入~/.ssh/authorized_keys即可 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOoPPzVZkUUTPEEFueJzAxxxxxxxxEjiaskInSoMzJjEuo0zMZHVK8UqQPlFQcXPnW2+GgYigL2Q= root@localhost 就可以凭密码登录了。 远程最好配一下登录所使用的key,跟rsa gen出的id_pub.key区分开来 vi ~/.ssh/config Host g git.coding.net HostName git.coding.net...

如果禁止libvirtd自带的dnsmasq启动

自己建了个dnsmasq,和libvirtd自带的冲突了,需要禁掉libvirtd的。 方法如下: virsh net-list Name State Autostart Persistent -------------------------------------------------- default active yes yes virsh net-autostart --disable default virsh net-destroy default 搞定....

如何禁掉Rsyslog的dns解析

网管检查流量图的时候发现,udp的流量很多 看了看日志: Jun 28 00:39:28 172.16.0.1 %ASA-6-305011: Built dynamic UDP translation from inside:172.16.36.2/2160 to outside:124.243.230.6/2160 Jun 28 00:39:28 172.16.0.1 %ASA-6-302015: Built outbound UDP connection 1369422617 for...

syslog级别详解

首先是: [facility].[priority] facility表示来源: auth # 认证相关的 authpriv # 权限,授权相关的 cron # 任务计划相关的 daemon # 守护进程相关的 kern # 内核相关的 lpr # 打印相关的 mail # 邮件相关的 mark #...

Centreon的CLAPI应用

公司的监控系统是Centreon+nagios。 其实无论是nagios或者zabbix,用习惯了用顺了都一样。 如何在命令行给一个主机增加一个服务监控呢? 首先,查查都有什么服务模板: centreon -uadmin -ppassword -o STPL -a show 2549;nrpe_check_http;nrpe_check_http;check_nrpe;!check_http;;;;2;2 看结果: 1是服务ID,2是服务描述,3是服务命令,4是命令参数,......倒数第2是Active check enable,倒数第1是Passive check enable 我们记住nrpe_check_http。 我们查查要添加监控服务的机器: centreon -uadmin -ppassword -o SERVICE -a...

Debian的旧source

为了刷Hpt5325这个路由器,也是拼了。 问题来了,这个路由器用的是debian 6 squeeze,那么debian都有什么版本呢? 下一代 Debian 正式发行版的代号为 stretch — 发布时间尚未确定 Debian 8 (jessie) — 当前的稳定版 Debian 7 (wheezy) — 被淘汰的稳定版 Debian 6.0 (squeeze) — 被淘汰的稳定版 Debian...

Linux命令行使用Bitcoin的比特币钱包

研究了一下在Linux命令行使用bitcoin的钱包客户端,方法如下 首先,跑到 https://bitcoin.org/en/download ,看看都有什么客户端。我们选linux-x64的客户端,下载: wget https://bitcoin.org/bin/bitcoin-core-0.14.1/bitcoin-0.14.1-x86_64-linux-gnu.tar.gz tar zxvf bitcoin-0.14.1-x86_64-linux-gnu.tar.gz cd bitcoin-0.14.1/bin/ 第一次执行的话,打开一个screen,通常这个要运行8小时之久,且会下载130G的数据 screen ./bitcoind ctrl+a+d 首先打开网页看看现在比特币的进度,都已经挖了多少块了 curl https://blockexplorer.com/api/status?q=getBlockCount {"blockcount":470886} 上面显示470886块了。看看我们下载到多少了 ./bitcoin-cli getinfo { "version": 140100, "protocolversion":...

CentOS指定缺省的java

坑人啊。友军装了个最小版本的CentOS,啥也没有。 麻烦来了,java也没装,从相同环境的机器中直接拷贝过来了一份。 修改/etc/profile增加好PATH export JAVA_HOME=/usr/local/jdk1.7.0_79 export PATH=$JAVA_HOME/bin:$PATH 平时倒也相安无事,但是用jenkins远程部署到这台机器上的时候就出麻烦了,找不到java,没办法,因为ssh过来的PATH是这样: PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 根本没有java的路径,没办法,强行指定一个吧: alternatives --install /usr/bin/java java /usr/local/jdk1.7.0_79/bin/java 2 搞定...

mvn build的时候控制日志输出

最近在弄jenkins的自动打包部署 出现个问题,项目是用的mvn,打包的时候,如果是在控制台下还好。 如果是在jenkins下,看console output,往中心仓库artifactory提交包的时候,会显示下面一堆: Uploaded: http://xxx:8081/artifactory/libs-release-local/abc/maven-metadata.xml (315 B at 17.1 KB/sec) Uploading: http://xxx:8081/artifactory/libs-release-local/abc/d/admin-9.1.war 20000/21969 KB 20002/21969 KB 20004/21969 KB 20006/21969 KB 20008/21969 KB 20010/21969 KB 20012/21969...

CentOS 6之下Rabbitmq的安装

之前有一篇是从源码安装的,那是没问题的。 这篇是如何从CentOS下用rpm安装 首先去http://www.rabbitmq.com/releases/erlang/ 这里是Rabbitmq的官网,里面有现成的erlang 挑个最新的64位的centos 6的包: erlang-19.0.4-1.el6.x86_64.rpm 安装它: yum localinstall -y erlang-19.0.4-1.el6.x86_64.rpm 然后再到:http://www.rabbitmq.com/install-rpm.html 看看最新的rabbitmq的版本: rabbitmq-server-3.6.9-1.el6.noarch.rpm 注意后面有个 (Signature) 的链接 安装: 装签名: rpm --import http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el6.noarch.rpm.asc 装包:yum install -y...

mvn的调试

mvn的调试 mvn的parent pom里面指定了local file repo <repositories> <repository> <id>project.local</id> <name>project</name> <url>file://${project.basedir}/../repo</url> </repository> </repositories> 而且指定了-s setting.xml,里面也有artifactory的repos. 在子module里不知道是否正常获得了。 执行下面命令就可以了: mvn help:evaluate ${project.repositories} ...

Nginx代理Jenkins时”No valid crumb was included in the request"错误的修复

如题,Jenkins前端用Nginx做了代理。 万分恼怒的是正在配置Jenkins任务,保存时确报出个"No valid crumb was included in the request"的错误,东西都没存住,杀人的心都有了。 如何修改呢? 首先,修改jenkis的启动配置,centos下是: JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.security.csrf.requestfield=crumb" 然后,修改Nginx配置: ... server { listen 80; server_name build.xxx.com; ignore_invalid_headers off; ... ...

kvm的虚机中如何在线挂接一块新网卡

比较古怪的需求,公司拉了根专线到机房。 而使用专线的机器是一台虚机,实机有自己的路由。 虚机就只能使用实机的第三块网卡,上连出去了,而且必须制定host的路由,这里给的子网掩码是255.255.255.252,所以只能虚机有ip,实机根本不能配ip地址。 首先把实机dell r720的第三块网卡em3改一下,连接到网桥br1 cat /etc/sysconfig/network-scripts/ifcfg-em3 DEVICE=em3 HWADDR=XX:XX:XX:XX:XX:XX TYPE=Ethernet UUID=6b68220d-d5ed-496f-b8d1-4c6d9cbb1234 ONBOOT=yes NM_CONTROLLED=no BRIDGE=br1 再做个网桥br1 cat /etc/sysconfig/network-scripts/ifcfg-br1 DEVICE=br1 BOOTPROTO=none ONBOOT=yes TYPE=Bridge 注意,这个网卡和网桥都无地址,实在是可怜,连ip都不够用 启动他们 ifup em3 ifup...

Python+Selenium + PhantomJS 环境的搭建

无废话,先安装辅助包 yum install -y openssl-devel.x86_64 bzip2-devel.x86_64 sqlite-devel.x86_64 readline-devel.x86_64 然后下载Python2.7.3编译安装 wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 tar jxvf Python-2.7.3.tar.bz2 cd Python-2.7.3 ./configure --prefix=/usr/local/python2.7.3 make make install 安装pip利器: wget https://bootstrap.pypa.io/get-pip.py /usr/local/python2.7.3/bin/python get-pip.py...

单用户nvm的安装

增加个pm2用户: groupadd pm2 useradd -m -s /bin/bash -g pm2 pm2 clone整个nvm项目 sudo su - pm2 git clone https://github.com/creationix/nvm.git ~/.nvm cat<EOF>>~/.bashrc export NVM_DIR="/home/pm2/.nvm" [ -s "$NVM_DIR/nvm.sh" ]...

lua与redis结合应用于nginx的动态upstream

技术实现很简单: nginx分发请求的时候,upstream是由lua从redis中读取配置动态生成的。 装好nginx+lua,过程不表。 把lua redis的模块配到路径中 wget https://raw.github.com/nrk/redis-lua/version-2.0/src/redis.lua nginx配置如下: server { listen 80; server_name _; server_name_in_redirect off; port_in_redirect off; root /root/html; location / { set $upstream "";...

Mysql和Psql备份全库

Postgres备份全库: #!/bin/bash list=$(psql -tqc "SELECT datname FROM pg_database WHERE datistemplate = false") for d in $list; do echo "backing up $d" pg_dump --no-owner --clean $d >...

Nginx下lua根据客户端ip进行分发

公司的线上环境分为预发布和正式两个部分。 其实两个部分是在一起的。 这样怎么分发呢? 用Nginx即可,如果是公司来的某个固定ip,则分发到预发布,如果不是,就走正式环境。这样测试就简单多了,运维统一设置一个无线wifi,接入这个wifi就走某个固定ip,到的全是预发布环境,不用这个wifi就走正式环境,非常方便测试。 用lua进行分发: location / { content_by_lua ' myIP = ngx.req.get_headers()["X-Real-IP"] if myIP == nil then myIP = ngx.req.get_headers()["x_forwarded_for"] end if myIP == nil...

meteor中settings.json的运用

meteor中settings.json位于程序的根目录下,里面存放一些配置信息,比如: { "magicPizzaService": "Our1234API5678Key" } 怎么用呢? var secretPizzaAccessCode = Meteor.settings.magicPizzaService; 如果有不同的环境,比如开发环境,生产环境,同一个变量的值是不同的,那该怎么定义呢? { "public": { "imARidiculousHumanBeing": "butAtLeastImClean" }, "private": { "hackTheGibson": "keyboardCoWbOyS" }, "imStillServerOnly": "soDontPanic" } 用法:...

meteor的部署

nginx的反向代理: server_tokens off; # for security-by-obscurity: stop displaying nginx version # this section is needed to proxy web-socket connections map $http_upgrade $connection_upgrade { default upgrade; ''...