0%

记一次root用户进行秘钥登录验证失败问题

现象描述:

在一次常规给 root 用户配置秘钥登录过程中,通过命令 ssh-copy-id 正常导入秘钥到服务器端,在服务器上的 authorized_keys 文件里也能查到客户端的公钥信息,但使用秘钥登录时候仍然提示输入密码。

阅读全文 »

sshd_config误删除如何恢复?

方法1,拷贝默认配置文件:

1
cp /usr/share/openssh/sshd_config /etc/ssh/

记得校正配置,例如:

1
2
3
#PermitRootLogin prohibit-password
PermitRootLogin yes
X11Forwarding yes

方法2,卸载重装软件包:

1
2
3
apt purge openssh-server
apt install openssh-server

SSH的X11转发–在本地 Linux OS 桌面显示器上运行远程 Linux OS 的应用

原理

SSH的X11转发原理–来自ssh的manpage:
如果 ForwardX11 变量设为 “yes” (或参见后面对 -X 和 -x 选项的描述), 并且用户正在使用 X11 (设置了 DISPLAY 环境变量), 和 X11 显示器的连接将自动以这种形式转发到远端: 任何用 shell 或命令启动的 X11 程序将穿过加密的通道, 从本地机器连接真正的 X 服务器. 用户不应该手动设置 DISPLAY. 可以在命令行上, 也可以在配置文件中设置 X11 连接的转发.
ssh 设置的 DISPLAY 值将指向服务器, 但是显示器号大于零. 这很自然, 因为 ssh 在服务器上创建了一个 “proxy” X 服务器,把连接通过加密通道转发出去.

从原理来讲,对于用户login来说,本地主机是客户端(SSH Client),远程主机是服务端(SSH Server);对于X11程序来说,本地主机是服务端(X Server),远程主机是客户端(X Client)。

从实际使用体验来说,是用户在本地主机通过 SSH Client 登录到启用了 X11 转发功能的远程主机的 SSH Server 上执行 GUI 图形界面程序,此时本地主机的显示器(X Server DISPLAY)上会呈现远程主机的GUI程序的图形界面。

预准备

Linux SSH协议中的角色 X协议中的角色 OS IP
本地Linux操作系统 SSH Client X Server ArchLinux 172.18.253.70
远程Linux操作系统 SSH Server X Client CentOS 172.18.253.19

本地Linux操作系统(X Server)操作

  1. 安装依赖:
    xauth用于授权,fonts用于字体显示。
    Arch系统,执行:
    sudo pacman -S xorg-xauth xorg-fonts-*
    其他发行版软件包名称可能是 xorg-x11-xauthxorg-x11-fonts-*
阅读全文 »

Joplin-desktop_改变编辑字体样式和调整markdown渲染效果字体大小

  1. 打开设置->外观->高级选项

适用于已渲染 Markdown 的自定义样式表 -> userstyle.css -> 影响展示区域字体样式。
适用于 Joplin 全域应用样式的自定义样式表 -> userchrome.css -> 影响了除展示区域的字体样式。

  1. 从typera拷贝出来的CSS,可以直接放进userchrome.css 和 userstyle.css
1
2
3
*{font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
-webkit-font-smoothing: antialiased;
}
  1. 调整markdown渲染字体大小,外观->显示高级选项->适用于已渲染 Markdown 的自定义样式表->编辑。
1
2
3
4
5
6
7
body, th, td, .inline-code {
font-size: 18px;
}
h2 {
background-color: #46515c;
color:white;
}
  1. 编辑器字体族
    Cascadia Code

  2. Reference:
    https://java-er.com/blog/joplin-css-font/
    https://cloud.tencent.com/developer/article/1655173
    https://blog.csdn.net/heimu24/article/details/81189700

joplin-cli_config

1
2
3
4
5
6
7
8
9
# 配置joplin-cli
joplin-cli config
joplin-cli config dateFormat YYYY-MM-DD
joplin-cli config locale zh_CN
joplin-cli config revisionService.enabled false
joplin-cli config sync.target 2
# joplin-cli config sync.2.path /home/leion/Nextcloud/Joplin/
joplin-cli config sync.2.path /home/leion/Nextcloud-nc.nl.tab.digital-leitong1990@gmail/Joplin/
joplin-cli sync
1
2
# 配置用户默认编辑器
echo 'export EDITOR=/usr/bin/nvim' >> ~/.profile
1
2
3
4
# 退出joplin-cli
输入":exit"后按"Enter"键。
或者:
输入":(英文冒号)"后,再按"Ctrl+d"键。

Linux上的笔记软件和网盘–多平台同步解决方案

支持云同步的笔记客户端

nixnote2

Nixnote2是evernote的第三方客户端通过API接口实现同步,不会占用免费用户的同步设备数量。

wiznote

为知笔记,优良的跨平台笔记软件,支持多级目录和多标签,以及markdown,试用100天。

有道云笔记 YNote

官方不支持Linux操作系统,Linux上只能使用第三方通过Electron封装版或者网页版。

Simplenote

很有前途的一个软件,支持多平台同步,问题是国内同步速度太慢,导致容易弄乱笔记。

Joplin

Joplin - 跨平台开源免费 Markdown 笔记应用,配合NextCloud、WebDAV食用效果更佳。

Joplin 的特色:
全(跨)平台支持,提供了桌面版、手机移动版以及命令行版客户端
网页剪藏插件 (支持 Chrome 和 FireFox)
支持端到端加密 (End To End Encryption / E2EE)
可完全离线使用,不上传任何数据

阅读全文 »

Nginx 403 forbidden 问题全面解析

1
2
2020/07/16 15:48:34 [error] 2220#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.253.20, server: _, request: "GET / HTTP/1.1", upstream: "http://[::1]:8001/", host: "172.18.253.20"
2020/07/16 15:48:34 [error] 2221#0: *4 "/home/leion/www/nginx_server_8001/index.html" is forbidden (13: Permission denied), client: 127.0.0.1, server: _, request: "GET / HTTP/1.0", host: "172.18.253.20"

上面的报错有两个问题,第一个是 nginx 负载均衡连接上游失败connect() failed (111: Connection refused)也就是本地 IPv6 地址所在端口访问不通,在 server{} 块下启用listen [::]:8001;即可。

第二个问题是本节的重点403 forbidden (13: Permission denied)

SELinux 状态

安全增强型 Linux(SELinux)是一种采用安全架构的 Linux® 系统,它能够让管理员更好地管控哪些人可以访问系统。它最初是作为 Linux 内核的一系列补丁,由美国国家安全局(NSA)利用 Linux 安全模块(LSM)开发而成。

CentOS 系统默认启用 SELINUX。

查看 SELINUX 的状态

1
2
3
sestatus
getenforce
grep '^SELINUX=' /etc/selinux/config
阅读全文 »

USTC-Mirror_CentOS源&EPEL源

CentOS 源
https://mirrors.ustc.edu.cn/centos/

警告
操作前请做好相应备份。

对于 CentOS 8,使用以下命令替换默认的配置

1
2
3
4
5
6
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo \
/etc/yum.repos.d/CentOS-Extras.repo \
/etc/yum.repos.d/CentOS-AppStream.repo

对于 CentOS 6、7,使用以下命令替换默认配置

1
2
3
4
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo

以上命令只替换了默认启用的仓库。替换之后请运行 yum makecache 更新缓存。


阅读全文 »

准备好deploy APP二进制包文件:

1
2
3
4
curl -L -O https//artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-6.3.0.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-linux-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.0-linux-x86_64.tar.gz

创建普通用户:

1
id deploy &>/dev/null; if [[ $? != "0" ]]; then useradd deploy; fi

切换用户:

1
su - deploy
阅读全文 »