⑴ openVPN客户端出现Cannot pre-load keyfile的错误
问题背景
搭建openVPN,服务端是windows操作系统,客户端是arm64 + linux,客户端和服务端的配置文件里均开启了tls-auth ta.key 0/1,并且客户端和服务端都有存放ta.key这个文件。
问题现象
客户端连接服务端时,出现Cannot pre-load keyfile (ta.key), Exiting e to fatal error的错误,无法连接。
原因&解决
在arm + linux的客户端上,openVPN配宴皮置文件里ta.key的路径需要指定为绝对路径,如下:
tls-auth /etc/openvpn/ta.key 1
但是在Ubuntu上,配绝祥竖置相对路径也是可以连接的,我也不知道并大为什么^_^
⑵ 如何在linux下安装ssl证书
文件备份 由于安装SSL证书要修改服务器的配置文件,
⑶ 怎么在linux用less查看文件
less 在查看之前不会加载整个文件。可以尝试使用 less 和 vi 打开一个很大的文件,你就会看到它们之间在速度上的区别。
在 less 中导航命令类似于 vi。本文中将介绍一些导航命令以及使用 less 的其它一些技巧。
1 搜索
当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会被高亮显示。
向前搜索
/ - 使用一个模式进行搜索,并定位到下一个匹配的文本
n - 向前查找下一个匹配的文本
N - 向后查找前一个匹配的文本
向后搜索
? - 使用模式进行搜索,并定位到前一个匹配的文本
n - 向后查找下一个匹配的文本
N - 向前查找前一个匹配的文本
2 全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
3 单行导航
j - 向前移动一行
k - 向后移动一行
4 其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
5 其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
6 标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。
ma - 使用 a 标记文本的当前位置
'a - 导航到标记 a 处
7 浏览多个文件
方式一,传递多个参数给 less,就能浏览多个文件。
less file1 file2
方式二,正在浏览一个文件时,使用 :e 打开另一个文件。
less file1
:e file2
当打开多个文件时,使用如下命令在多个文件之间切换
:n - 浏览下一个文件
:p - 浏览前一个文件
⑷ 如何在 Linux 上使用 SSHfs 挂载一个远程文件系统
准备
在使用 SSHfs 挂载之前,需要进行一些设置 - 在你的系统上安装 SSHfs 以及 fuse 软件包。你还需要为 fuse 创建一个组,添加用户到组,并创建远程文件系统将会驻留的目录。
要在 Ubuntu Linux 上安装两个软件包,只需要在终端窗口输入以下命令:
sudoapt-get install sshfs fuse
ubuntu 安装 sshfs-fuse
如果你使用的不是 Ubuntu,那就在你的发行版软件包管理器中搜索软件包名称。最好搜索和 fuse 或 SSHfs 相关的关键字,因为取决于你运行的系统,软件包名称可能稍微有些不同。
在你的系统上安装完软件包之后,就该创建好 fuse 组了。在你安装 fuse 的时候,应该会在你的系统上创建一个组。如果没有的话,在终端窗口中输入以下命令以便在你的 Linux 系统中创建腊模组:
sudogroupadd fuse
添加了组之后,把你的用户添加到这个组。
sudo gpasswd -a "$USER" fuse
sshfs 添加用户到组 fuse
别担心上面命令的 $USER。shell 会自动用你自己的用户名替换。处理了和组相关的工作之后,就是时候创建要挂载远程文件的目录了。
mkdir~/remote_folder
在你的系统上创建了本地目录之后,就可以通过 SSHfs 挂载远程文件系统了。
挂载远程文件系统
要在你的机器上挂载磨局仔远程文件系统,你需要在终端窗口中输入一段较长的命令。
sshfs -o idmap=user [email protected]:/remote/file/system/~/remote
sshfs 挂载文件系统到本地目录1
注意: 也可以通过 SSH 密钥文件挂载 SSHfs 文件系统。只需要在上面的命中用 sshfs -o IdentityFile=~/.ssh/keyfile, 替换 sshfs -o idmap=user 部分。
输入这个命令之后,会提示你输入远程用户的密码。如果登录成功了,你的远程文件系统就会被挂载到之前创建的 ~/remote_folder 目录。
sshfs挂载文件系统到本地目录2
使用完了你的远程文件系统,想要卸载它?容易吗?只需要在终端输入下面的命令:
sudoumount~/remote_folder
这个简单的命令会断开远程连接同时清空 remote_folder 目录。
总结
在 Linux 上有很多工具可以用于访问远程文件并挂载到本地。但是如之前所说,如果有的话,也只有很少的工具能充分利用 SSH 的强大功能。我希望在这篇指南的帮助下,也能认识到 SSHfs 是一个瞎汪多么强大的工具。
⑸ Linux系统远程登录 该怎么用命令符操作
ssh远程登录命令简单实例
ssh命令用于远程登录上Linux主机。
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细的可以用ssh -h查看。
举例
不指定用户:
ssh 192.168.0.11
指定用户:
ssh -l root 192.168.0.11
ssh [email protected]
如果修改过ssh登录端口的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 216.230.230.114
ssh -p 12333 [email protected]
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。
编辑配置文件:
vim /etc/ssh/sshd_config
找到#Port 22,去掉注释,修改成一个五位的端口:
Port 12333
找到#PermitRootLogin yes,去掉注释,修改为:
PermitRootLogin no
重启sshd服务:
service sshd restart
⑹ Linux安装MongoDB双机热备份(主从复制)
主从复制作用:数据备份、读写分离
双机热备份:部署两个节点的MongoDB服务,配置一主一从,主节点添加数据,将自动备份到从节点上面,保证主机宕机后数据不丢失,同时可以继续提供数据读取服务(主服务挂掉,从服务将无法在进行写入数据,只能提供数据读取服务)
一主多从:部署多个节点的MongoDB服务,配置一主多从,数据也会自动备份到所有从节点上面,保证主机宕机后数据不丢失,同时可以根据从节点的优先级进行选取新的主节点,继续提供读写服务(主从关系跟服务设置的优先级有直接关系 优先级参数:priority 数字越大优先级越高)
使用上面的方式,在不同服务器上安装并启动MongoDB服务
将启动时使用的配置文件mongodb.conf中添加下面的副文本集名称配置,将权限控制参数改为false(auth=false),然后将服务进行重新启动即可(testrs是自定义的副本集名称)
#使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集
replSet=testrs
然后启动每个服务的客户端查看当前节点为主节点还是从节点;
1). 如果服务部署在不同服务器上,直接启动/bin目录下的mongo即可 命令:./ mongo
2). 如果服务部署在同一台服务器上,使用不同端口及配置文件进行启动的,启动客户端使用该命令 命令:./mongo 127.0.0.1:27018/
经过上面的一系列操作后,主从配置就完成了,接下来可以进行数据同步测试
第一步:在主库上面切换到admin,然后进行添加数据(命令:db.testdb1.insert([{"name":"zs"}]))
在从库上查询该数据(命令:db.testdb1.find({name:"zs"})),会出现下面如图的错误,因为从库没有查询数据权限,所以需要设置查询权限
设置从库查询权限,使用命令:rs.secondaryOk()
然后在使用查询命令进行查询(命令:db.testdb1.find({name:"zs"}))就会看到如下图的查询结果:
如上图所示,数据已经同步到从库上面了,这样双机热备份就已经实现了,上面的情况不包含权限控制
上面的情况已经完成了MongoDB的主从复制功能,但是我们把权限没有开放,启动时使用的配置中auth配置的值为false,说明没有添加权限,接下来就开放一下权限配置;
首先需要主从之间通信的一个keyFile文件,根据官网提供的说明,这个keyfile是可以任意内容的,只要保证所有集群中的机器都拥有同样的文件即可。
我这里将keyFile文件放到了MongoDB的bin目录下了,使用openssl rand -base64 1024 > /usr/local/mongodb-master/bin/mongodb.key 命令生成;
然后将mongodb.key文件复制到每台从服务上面,在每台服务的启动文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodb.key 配置项 ,然后将auth属性值改为true,这样就完成了权限配置
重启主从两个节点,这样主机添加的数据,就会同步到从机上面了!!!
添加或删除从节点参考文章:
https://blog.csdn.net/weixin_44839444/article/details/105666163
⑺ linux下apache 怎么把 http改为https
Gworg证书解压后根据以下配置:
Apache SSL配置
Listen 443 (如果配置已经存在就不要加)
LoadMole ssl_mole moles/mod_ssl.so (如果配置已经存在就不要加)
NameVirtualHost *:443 (非必须,配置多个SSL站点会需要)
<VirtualHost *:443>
ServerName www.gworg.cn
ServerAlias gworg.cn
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/server.ca-bundle
</VirtualHost>
⑻ Linux下生成能用的SSL证书的步骤
我们首先要设置 openssl 的全局配置文件
在debian下他的配置文件在 /usr/lib/ssl/openssl.cnf
需要修改的内容:
具体怎么改可以自己决定
在CA目录下创建两个初始文件:
为了安全起见,修改cakey.pem私钥文件权限为600或400,也可以使用子shell生成( umask 077; openssl genrsa -out private/cakey.pem 2048 ),下面不再重复。
使用req命令生成自签证书:
然后会有提示,之后再出现也是这样填,不再重复
以上都是在CA服务器上做的操作,而且只需进行一次,现在转到nginx服务器上执行:
这里测试的时候CA中心与要申请证书的服务器是同一个。敬悉
另外在极少数情况下,上面的命令生成的证书不能亮态乎识别,试试下面的命令:
上面签发过程其实默认使用了-cert cacert.pem -keyfile cakey.pem,这两个文件就闭举是前两步生成的位于/etc/pki/CA下的根密钥和根证书。将生成的crt证书发回nginx服务器使用。
到此我们已经拥有了建立ssl安全连接所需要的所有文件,并且服务器的crt和key都位于配置的目录下,剩下的是如何使用证书的问题。
因为这是个人生成的证书,浏览器第一次可能会报错,只要添加信任之后就可以正常使用了!