⑴ 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都位於配置的目錄下,剩下的是如何使用證書的問題。
因為這是個人生成的證書,瀏覽器第一次可能會報錯,只要添加信任之後就可以正常使用了!