Centos 7 使用key登陆SSH

首先,你要新建一个用户,权限可以最小,用来ssh登陆系统。

useradd

1、ssh-keygen -t rsa

使用新建的用户执行这条命令。

会让你输入密码,根据个人需要,我是没填密码,因为使用方便。

然后会在你当前用户的home目录下生成.ssh,里面有id_rsa,id_rsa.pub,id_rsa.pub就是公钥:

2、cat id_rsa.pub >> authorized_keys

因为ssh默认是会去读取authorized_keys里面的数据。

id_rsa是私钥,拖回本地来。

3、修改/etc/ssh/sshd_config

PermitRootLogin no

PubkeyAuthentication yes

PasswordAuthentication no

systemctl restart sshd

4、vi /etc/sudoers

在%wheel ALL=(ALL) NOPASSWD: ALL这一行上添加:

youruser ALL=(ALL) NOPASSWD:ALL

至此,就可以用新建的用户加id_rsa来登陆系统了。需要root权限直接sudo -s就可以。

PS:在实施过程中因为偷懒,直接使用ssh-copy-id来把key分发到其它服务器上,其中一台始终无法登陆,提示:

Authentication refused: bad ownership or modes

后来发现是.ssh目录权限问题,直接给700,问题解决。

ubuntu16.04配置openvpn服务器

首先声明,这是一篇转载,原作者写的很清晰,为了防止原作者关站,我就给转载过来了,原地址如下:

https://www.jzfu.cc/2018/09/04/Ubuntu16-04%E6%90%AD%E5%BB%BAOpenVPN/

因为原作者是把客户端配置文件放在WEB目录下,这里我就不贴出来了,毕竟每个人的NGINX配置不一样,感兴趣的可以去原作者处查看。

前提条件
拥于公网固定IP地址的Ubuntu 16.04服务器。具有sudo权限的非root用户,当然如果你就是root更好。达到这些条件之后,用你的sudo用户登录到你的Ubuntu服务器,然后继续按照以下步骤进行。

阅读更多

nginx提示host not found in upstream错误

今天重启nginx,发现nginx报错,看了一下systemd的错误提示,journalctl -xe,原来报错了:

host not found in upstream

看了下配置文件,原来是proxy_pass后面跟的是域名,但以前的时候都没有出现过这个问题啊,今天才刚出现的。

后来看到有人在location段加dns,才想起来原来nginx的服务器配的dns服务器停了,那就来更新一下dns服务器吧:

vi /etc/resolv.conf

改成阿里云的DNS吧,223.5.5.5.

再重启nginx,好,一切正常。

kettle7 新建数据库连接灰色

在windows server 2012上装的kettle7.1,用来跑公司的业务数据,结果kettle7.1打开后根本无法连接数据库,新建数据库连接是灰色,资源库连接也是灰色。

网上一顿搜,在使用了修改配置文件乱码,开启资源库连接提示的情况下,新建数据库连接仍然是灰色。

刚好就顺手去自己增加个连接,发现kettle7.1报错了:

org.pentaho.ui.xul.XulException: org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException

在老外那里看到了解决方法,把你的jdk降到8。因为这边是新装的windows server 2012,所以jdk使用的是最新版,降到8后就正常了,资源库和新建数据库连接就都有了。

oracle监听提示The listener supports no services

上回把公司的BI库从11.2.0.1升级到11.2.0.4,最后监听出现了问题,挂在了1522端口上。

这两天一顿操作,把监听又换回到1521上,但是监听却出了问题,连不上数据库。登上去看了一下,lsnrctl status提示The listener supports no services,也就是说监听没有识别库,先后采用了两种方法,如下:

一、

SQL> show parameter service_names –查看服务名称

NAME TYPE VALUE


service_names string orcl

SQL>alter system register

system altered

SQL>exit

强制注册一遍,然后重新启动监听,发现还是不行。

二、在listener.ora中添加如下代码:

SID_LIST_LISTENER =  
(SID_LIST =  
  (SID_DESC =  
  (GLOBAL_DBNAME = orcl)
  (SID_NAME = orcl)
  )
)

使之成为这样:

[oracle@oracle11g admin]$ cat listener.ora 
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =  
(SID_LIST =  
  (SID_DESC =  
  (GLOBAL_DBNAME = orcl)
  (SID_NAME = orcl)
  )
)
ADR_BASE_LISTENER = /u01/app/oracle

再重新启动监听,

lsnrctl stop

lsnrctl start

这下监听就正常了,也可以连上了。

宏基acer蜂鸟swift3 sf314-41 r3f2增加内存

去年在京东上买的电脑,一直用到现在,原配是amd ryzen5 3500u 4核8线程,8G DDR4 2666内存,其中4G是板载的,4G是插槽的,512G SSD固态NVME硬盘。

这两天总觉得8G内存有点紧张,因为是集成显卡,所以有2G留给了显存,实际使用上只有不到6G的内存,跑两个大点的程序就觉得有点紧张,现在的浏览器IDE的动辙一两个G的内存很正常,所以干脆就加了一根,由原8G增加到20G,也就是将4G的换成16G的,360大洋。

拆后盖螺丝很简单,因为拆的时候螺丝特别松,好像是故意让你拆起来简单一样。但是拆后盖的时候就比较麻烦了,因为密合的比较好,所以找到突破口费了我很长时间,最后选择了笔记本电源键的那个拐角,因为那里是密合的一个终点处,受力的只会有一边,容易扣开,哈哈。

拆开后盖就比较简单了,有一个小铁盖,像个小盒子一样,里面就是内存条了,拿下来就能看到,直接更换就行,这里我就不想上图了,网上一大堆。

kettle连oracle卡在正在从数据库读取信息

公司的BI,用的是kettle,连接生产的oracle数据库。

从kettle上连测试库的时候,浏览数据库,总是会卡在正在从数据库读取信息,获取模式信息上。

刚开始以为是oracle的配置问题,检查了一圈发现都很正常。

后来无意发现版本不对,正常应该是:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

而这台慢的是11.2.0.1.0,中间差了几个版本,无奈就只能去升级,但现在还没有开始实施。