Wrecked

Holding You Back As I Breath You In


  • 首页

  • 关于

  • 标签26

  • 分类15

  • 归档34

  • 搜索

Linux服务器如何禁用密码登录,使用秘钥文件登录增加服务器安全性?

发表于 2019-11-05 | 更新于 2019-11-07 | 分类于 Linux |
生成秘钥公钥
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$  ssh-keygen       //生成秘钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
The key's randomart image is:
+---[RSA 2048]----+
| .o=B@*. |
| . = =o*.*. |
|. . + @ + o o |
|oo o * + |
|o +.. + S |
|.oo. . |
| =. |
|..=oE |
| *+ o. |
+----[SHA256]-----+



$ cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys //把公钥放进授权文件中去

$ cd /root/.ssh

$ chmod 600 authorized_keys

$ chmod 700 ~/.ssh

$ vim /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes //另外,请留意 root 用户能否通过 SSH 登录,默认为yes:

当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆
PasswordAuthentication yes

$ service sshd restart //重启服务
客户端使用秘钥登录
1
2
3
1. /root/.ssh/id_rsa 到Windwos桌面 更改为.pem文件 
2.使用SecurtCRT SSH远程连接工具进行登录
3.登录成功后 请把/etc/ssh/sshd_config 文件中的PasswordAuthentication改为No 禁止密码进行远程登录 防止服务器被恶意SSH暴力破解攻击
服务器被攻击如图

相关截图

Linux 安装 Elasticsearch Kibana Logstash

发表于 2019-11-02 | 更新于 2019-11-04 | 分类于 Elasticsearch |

相关截图

各系统安装说明

相关截图

安装 ElasticSearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
$ groupadd es //使用 root 用户启动 elasticsearch 会报错,用 root 用户新建 es

$ useradd -g es es //新建 es 用户,并添加到 es用户组

$ passwd es //设置 es 用户的用户密码,按照提示输入你的密码

$ chown -R es:es /es //授权,我这里文件路径在 /es 下面

$ vim /etc/sysctl.conf //编辑
#添加一行
vm.max_map_count=655360

$ sysctl -p //配置生效

$ su es //切换用户

$ mkdir es

$ cd es

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

$ tar -zxvf elasticsearch-6.7.0.tar.gz //解压文件

#es 作为集群,应该至少 3 个节点,这里服务器内存只有 2G,部署一个单机版 3 节点的伪集群
$ mv elasticsearch-6.7.0-node elasticsearch-6.7.0-node1 //给文件夹改名

#修改配置文件,默认值为 1g,我这里改为 160m,否则服务器带不动
$ cd elasticsearch-6.7.0-node1

$ vim config/jvm.options
-Xms160m
-Xmx160m

$ mkdir elasticsearch-6.7.0-data1 //新建文件夹存放数据和日志,默认存放于 es 安装目录,为了防止误删和被覆盖,另建文件夹

$ cd elasticsearch-6.7.0-data1/

$ mkdir data logs

#修改配置文件(https://www.cnblogs.com/zhq1007/p/8482454.html)
$ cd /es/elasticsearch-6.7.0-node1/config/
$ vim elasticsearch.yml

cluster.name: 你的集群名称
node.name: node-1 # 节点名称 其余两个节点分别为 node-2、node-3
node.master: true
node.data: true
bootstrap.memory_lock: true
path.data: /opt/fangzhibin/es670/elasticsearch-6.7.0-data1/data # 其余两个节点为 data2/data、data3/data
path.logs: /opt/fangzhibin/es670/elasticsearch-6.7.0-data1/logs # 其余两个节点为 data2/logs、data3/logs
network.host: 0.0.0.0
transport.tcp.port: 9301 # 因为在同一台服务器,其余两个节点分别为 9302、9303
http.port: 9201 # 因为在同一台服务器,其余两个节点分别为 9202、9203
discovery.zen.ping.unicast.hosts: ["节点IP:9301","节点IP:9302","节点IP:9303"] #
discovery.zen.minimum_master_nodes: 2 # 根据主节点数量计算:主节点数量/2 + 1;3 个节点则设置为 2

$ cd /es/elasticsearch-6.7.0-node1
$ bin/elasticsearch -d

#验证是否正常启动 node1(或者浏览器访问 http://你的IP:9201)
curl "http://你的IP:9201"
#出现以下内容即可,node2 和node3 同理
{
"name" : "node-1",
"cluster_name" : "cluster-aly",
"cluster_uuid" : "RixPnO6hTQClAqxlAt_v2g",
"version" : {
"number" : "6.7.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "8453f77",
"build_date" : "2019-03-21T15:32:29.844721Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

#正常启动 node1 后,复制节点
$ cd /es
$ cp -r elasticsearch-6.7.0-data1 elasticsearch-6.7.0-data2
$ cp -r elasticsearch-6.7.0-node1 elasticsearch-6.7.0-node2
$ cp -r elasticsearch-6.7.0-data1 elasticsearch-6.7.0-data3
$ cp -r elasticsearch-6.7.0-node1 elasticsearch-6.7.0-node3
#注意:按照上面的配置项说明更改 node2、node3 的配置文件
#启动 node2 和 node3
$ cd /es/elasticsearch-6.7.0-node2
$ bin/elasticsearch -d
$ cd /es/elasticsearch-6.7.0-node3
$ bin/elasticsearch -d
#验证是否正常启动,参考上面
elasticsearch 默认配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#集群名称
cluster.name: elasticsearch_production

#该节点名称
node.name: elasticsearch_001_data

#数据存放目录
path.data: /home/elasticsearch-6.7.0-data1/data

#日志存放目录
path.logs: /home/elasticsearch-6.7.0-data1/logs

#是否可以被选举为master节点
node.master: true

#是否为data node
node.data: true

#端口
http.port: 9200

安装 Kibana

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
### Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

#同样使用 es 用户
$ cd /es
$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz
$ tar -zxvf kibana-6.7.0-linux-x86_64.tar.gz
$ mv kibana-6.7.0-linux-x86_64 kibana
$ cd kibana
$ vim config/kibana.yml
# 更改如下配置
# 配置参考官方文档:https://www.elastic.co/guide/cn/kibana/current/settings.html
server.host: "0.0.0.0" # 指定后端服务器的主机地址
i18n.locale: "zh-CN" #汉化
elasticsearch.hosts: ["http://localhost:9201"] # 所有 Elasticsearch 实例的 URL,用逗号分隔

$ nohup /es/kibana/bin/kibana > /es/kibana/kibana.log & //启动 kibana 浏览器访问: http://Kibana服务器IP:5601

安装 Logstash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$ mkdir /es/logstash

$ cd /es/logstash

$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.0.zip

$ unzip logstash-6.3.0.zip

$ mv logstash-6.3.0 logstash

$ cd logstash


$ bin/logstash -f config/xxx.conf > /es/logstash/logstash.log & //启动 Logstash启动时需要指定配置监控日志策略的文件,xx.conf放在ELK\logstash\config目录下
简单的配置说明
input {

tcp {

mode => "server" #模式

host => "localhost"#服务器IP

port => 900 #端口

codec => json_lines #JSON格式

}

}

output{

elasticsearch {
action => "index"
hosts => ["localhost:9200"] #Elasticsearch服务的IP和端口
index => "applog" #Kibana管理中搜索所使用的索引名

}

stdout { codec => rubydebug }

}

最终效果图

相关截图

Linux 常用命令

发表于 2019-10-29 | 更新于 2019-12-12 | 分类于 Linux |

Linux 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
$ curl cip.cc  # 查看公网IP

$ curl http://ifconfig.me

$ lsb_release -a #查看Linux版本

$ lsof | grep deleted #查看删除进程

$ df -h #查看磁盘空间

$ du -h --max-depth=2 | sort -n | head -12 #查找排在前12的大文件夹

$ scp -P 22 ./xxx.txt root@127.0.0.1:/home/xxx #SCP上传文件到指定服务器

$ scp -P 22 -r ./xxx root@127.0.0.1:/home/xxx #SCP上传文件夹到指定服务器

$ scp -P 22 -r root@127.0.0.1:/home/xxx /home/xxx #SCP下载服务器文件夹到本地

$ scp -P 22 root@127.0.0.1:/home/xxx.txt /home/xxx #SCP下载服务器文件到本地

$ netstat -tunlp |grep 8443 #查看端口占用

$ chmod 777 xxx.sh #赋予脚本执行权

$ ps -aux | sort -rnk 3 | head -20 #找出当前系统CPU使用量较高的进程

$ ps -aux|grep java //查看java进程

$ ps -aux //查看所有进程

$ tree a -L 2 //以树状格式列出目录 -L n n表示只显示到第几层

$ wget http://file.tgz //文件下载

$ curl http://file.tgz //请求URL

$ ping www.just-ping.com //网络检测

$ tar -czf test.tar.gz /test1 /test2 //列出压缩文件列表

$ tar -tzf test.tar.gz //解压文件

$ tar -xvzf test.tar.gz //解压文件

$ head -n 10 example.txt //查看文件前10行

$ tail -n 10 example.txt //查看文件后10行

$ tail -f exmaple.log //查看日志最近更新

$ netstat -tunlp | grep 8080 查看端口8080的使用情况 //查看端口占用情况

$ lsof -i :8080 //查看端口属于哪个进程

$ chmod 777 file.java file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
##赋予执行权

$ chmod 777 xxx.sh

$ grep -H 'spring' *.xml //查找所以有的包含spring的xml文件

$ ls -l | grep '.jar' //查找当前目录中的所有jar文件

$ grep 'test' d* //显示所有以d开头的文件中包含test的行

$ grep 'test' aa bb cc //显示在aa,bb,cc文件中匹配test的行

$ grep '[a-z]\{5\}' aa #显示所有包含每个字符串至少有5个连续小写字符的字符串的行

$ ps –ef|grep tomcat //查看所有有关tomcat的进程

$ ps -ef|grep --color java //高亮要查询的关键字

$ kill -9 19979 //终止线程号位19979的进程

Linux 限制Root 指定IP登陆

1
2
3
4
$ vim /etc/ssh/sshd_config     //编辑ssh的配置文件默认 /etc/ssh/sshd_config,在文件最后面另起一行添加
AllowUsers root@183.21.89.249

$ service sshd restart //保存并退出,再重启一下ssh服务

Linux 修改SSH端口

1
2
3
$ vim /etc/ssh/sshd_config     //找到#Port 22字段 删掉#,将22改为其他不被使用的端口
Port 22
$ service sshd restart //保存并退出,再重启一下ssh服务

find(查找文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ find / -name  *sync-huobi*

$ find / -name filename.txt //根据名称查找/目录下的filename.txt文件。

$ find . -name "*.xml" //递归查找所有的xml文件

$ find . -name "*" |xargs grep "hello" //递归查找所有文件内容中包含hello world的xml文件

$ find . -type f -size +100M -print0 | xargs -0 du -h | sort -nr //(https://www.cnblogs.com/kerrycode/p/4391859.html) #查找大文件

$ find ./ -size 0 | xargs rm -f & //删除文件大小为零的文件

$ find / -name *.conf -type f -print | xargs tar cjf test.tar.gz #tar命令将找出的文件直接打包

用户命令

1
2
3
4
5
6
7
8
 
$ sudo rm a.txt 使用管理员身份删除文件

$ userdel -r xxx 完全删除用户

$ chown -R ubuntu /var/lib/mysql //给指定用户加权限

$ chown -R ubuntu:root /home/ubuntu //给指定用户加权限

Redis (查看大Key)

1
redis-cli -h IP -p 6379 -a password --bigkeys

启动SpringBoot Jar

1
nohup java -jar exchange-announcement-0.0.1-SNAPSHOT.jar > /home/logs/xxx.log & //后台启动一个Jar包 输出日志到指定文件

安装反编译工具 反编译python

1
2
pip install uncompyle 安装反编译工具 反编译python
uncompyle6 upload_photo.pyc upload_photo.py

阿里云挂载磁盘

1
2
3
4
5
6
$ mount /dev/vdb1 /clouddisk  ##将云盘进行挂载
(vdb是快照对应的盘符,需要到系统内确认是不是vdb1,挂载到 clouddisk目录)

$ fuser -mv /clouddisk/ ##先杀死使用该目录的所有进程

$ umount /dev/vdb1 ##在阿里云卸载云盘之前执行卸载操作

Vim 批量替换

1
$ %s#abc#123#g  abc 替换为 123  //命令行
1…456…12
Wrecked

Wrecked

34 日志
15 分类
26 标签
RSS
GitHub E-Mail
Links
  • WeChat
  • Java2s
© 2020 本博客所有文章除特别声明外。转载请注明出处!