Ubuntu 文件管理軟件安裝
Ubuntu 的安裝
參考: https://www.cnblogs.com/masbay/p/10745170.html
開啟 ssh 服務
Ubuntu 默認不會開啟 ssh 服務。所以我們無法對 Ubuntu 進行遠程連接,這對 Ubuntu 的運維造成了很大不便。本文詳細講解如何在 Ubuntu18 下開啟 ssh 服務。
關鍵指令(root 用戶下,非 root 用戶所有指令前加 sudo)
*ps -e | grep ssh(查看 ssh 服務是否開啟)*
*apt-get install openssh-client(安裝 ssh 客戶端程序)*
*apt-get install openssh-server(安裝 ssh 服務端程序)*
*service ssh start 或者 /etc/init.d/ssh start(開啟 ssh 服務)*
*service ssh stop 或者 /etc/init.d/ssh stop(關閉 ssh 服務)*
*指令 1:ps -e | grep ssh( 查看 ssh 服務是否開啟)*
運行ps -e | grep ssh得出如圖一的兩行結果。ssh-agent 指的是 ubuntu 的 ssh 服務的客戶端,用於該 ubuntu 遠程連接其它 Linux 主機。sshd 指的是 ubuntu 的 ssh 服務的服務端,用於其它主機通過 ssh 服務連接該主機。
換句話說,如果沒有 sshd 進程的話,別的系統是不能連接該 ubuntu 主機的,若是沒有 ssh-agent 的話,該 ubuntu 主機也無法通過 ssh 連接其它主機。
*指令 2:apt-get install openssh-client(安裝 ssh 客戶端程序)*
若是運行*ps -e | grep ssh*沒有查出 ssh-agent 服務,但是你又想通過 ssh 服務連接別的系統。那么就執行*apt-get install openssh-client*安裝 ssh 客戶端。接着執行ssh 目標用戶@目標 ip即可連接目標主機。正常情況 Ubuntu 默認開啟 ssh-agent 服務。所以一般用不打指令 2。
*指令 3:apt-get install openssh-server(安裝 ssh 服務端程序)*
默認 ssh 的服務端是沒有安裝的,可用*ps -e | grep ssh*查看。若是沒有 sshd 的進程,則運行apt-get install openssh-server安裝 ssh 服務端。接着重新執行 ps -e | grep ssh 便可發現 sshd 已啟動。至此,其它主機便可通過 ssh 連接該主機。
sshd 和 ssh-agent 都已經啟動。其它主機便可通過 ssh 連接該主機
*指令 4:service ssh start 或者 /etc/init.d/ssh start(開啟 ssh 服務)*
*指令 5:service ssh stop 或者 /etc/init.d/ssh stop(關閉 ssh 服務)*
指令 4 和指令 5 便是開啟和關閉 sshd 服務進程的。
以上便是 Ubuntu18 下安裝開啟 ssh 進程的所有流程。
來源:https://www.jianshu.com/p/4b50b55ebb4d
問題
SSH連服務器提示“Permission denied(publickey,...).”的原因與解決辦法
原因分析:
錯誤提示的大意是拒絕許可,括號中的各種驗證失敗或未能驗證
解決辦法:
(1)編輯/etc/ssh/sshd_config配置文件:
vim /etc/ssh/sshd_config
(2)將 第34行左右的 PermitRootLogin 設置為 yes 第58行左右的 PasswordAuthentication 設置為yes,如下圖
(3)重啟sshd服務
systemctl restart sshd
Samba 共享文件服務
參考:https://www.linuxidc.com/Linux/2018-11/155466.htm
FTP 文件傳輸服務
安裝完 ssh 就可以使用 sftp ,也可以再裝一個 vsftpd
運行:sudo apt-get install vsftpd 命令,安裝 VSFTP 工具
安裝好了之后,使用如下命令啟動 FTP 服務:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
查看是否開啟
sudo ss -tunlp | grep -i ftp
Gitlab
安裝
gitlab 企業版 --> ee
gitlab 社區版 --> ce
tip 官方文檔很詳細 建議查看官方文檔
官方社區版安裝教程:https://docs.gitlab.com/ce/install/
推薦使用 docker 容器方式:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 9443:443 --publish 9080:80 --publish 9022:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
內網穿透
ZeroTier One
安裝 ZeroTier One 內網穿透
使用這行命令安裝 ZeroTier One
curl -s https://install.zerotier.com/ | sudo bash
復制下面代碼,將 NetWork ID 從 zerotier 官方網站中復制到下面代碼中
sudo zerotier-cli join (NetWork ID)
若出現”200 join OK”則添加成功
frp
安裝 frp 內網穿透
下載
目前可以在 Github 的 Release 頁面中下載到最新版本的客戶端和服務端二進制文件,所有文件被打包在一個壓縮包中。
部署
解壓縮下載的壓縮包,將其中的 frpc 拷貝到內網服務所在的機器上,將 frps 拷貝到具有公網 IP 的機器上,放置在任意目錄。
開始使用
編寫配置文件,先通過 ./frps -c ./frps.ini
啟動服務端,再通過 ./frpc -c ./frpc.ini
啟動客戶端。如果需要在后台長期運行,建議結合其他工具使用,例如 systemd
和 supervisor
。
如果是 Windows 用戶,需要在 cmd 終端中執行命令。
配置文件如何編寫可以參考 示例 中的內容。
這個示例通過簡單配置 TCP 類型的代理讓用戶訪問到內網的服務器。
阿里雲配置
需要開啟防火牆 中的對應端口 7000
6000
...
通過 SSH 訪問內網機器
-
在具有公網 IP 的機器上部署 frps,修改 frps.ini 文件,這里使用了最簡化的配置,設置了 frp 服務器用戶接收客戶端連接的端口:
[common] bind_port = 7000 # 用於與 frpc 連接
-
在需要被訪問的內網機器上(SSH 服務通常監聽在 22 端口)部署 frpc,修改 frpc.ini 文件,假設 frps 所在服務器的公網 IP 為 x.x.x.x:
[common] server_addr = test.com server_port = 7000 # 用於與 frps 連接 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 代理 訪問 test.com:6000 相當於訪問 127.0.0.1:22
local_ip
和local_port
配置為本地需要暴露到公網的服務地址和端口。remote_port
表示在 frp 服務端監聽的端口,訪問此端口的流量將會被轉發到本地服務對應的端口。 -
分別啟動 frps 和 frpc。
-
通過 SSH 訪問內網機器,假設用戶名為 test:
ssh -oPort=6000 test@x.x.x.x
frp 會將請求
x.x.x.x:6000
的流量轉發到內網機器的 22 端口。MEIFGMOCJGAGTQFR