[SFTP] Linux SFTP Server Guide – 建置SFTP服務

Intro Server使用工具:OpenSSH 設定SFTP服務主要會限制User僅限使用SFTP以及路徑限制。 安裝與設定 設定/etc/ssh/sshd_config: # 開啟`internal-sftp` Subsystem,將會限制僅使用SFTP而非SSH (反註解原本設定) Subsystem sftp internal-sftp 在設定Match條件,可以使用group為條件: Match group sftp_only ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 設定完成並重啟服務後,新增user至指定group(範例為sftponly),並將ChrootDirectory(範例為/home/%u)目錄所有者設定為root,即能使user登入SFTP 應用上,可另外加設定Match條件,ChrootDirectory也可以設定固定為如/srv,使用者即不需要家目錄 進階 使用者與群組指令 # 新增群組 groupadd sftp_only # 新增使用者,如為固定`ChrootDirectory`則可不設家目錄`-m` useradd -s /bin/false -G sftp_only username […]

[PGP] GPG 指令指南 – GPG Commands

Intro PGP (Pretty Good Privacy) Wiki GPG (GNU Privacy Guard) Wiki GPG Software Download Commands 產生金鑰 – Generate public/private key $ gpg –gen-key 完整產生金鑰選項:gpg –full-generate-key,含algorithm, key length, expired time 其中,Username與passphrase為必要。 列出金鑰 – List keys $ gpg -k 加密 – Encryption […]

[HTTPS] TLS/SSL指南 – (Ciphers/CURL Test)

Intro TLS – 傳輸層安全性協定 (Transport Layer Security) Cipher suite SSL Lab – Checking server online 實作 查看 Cipher suite list $ openssl ciphers -v TLS_RSA_WITH_AES_128_GCM_SHA256 對應指令為 AES128-GCM-SHA256 Curl 指定 Cipher $ curl -v –ciphers ECDHE-RSA-AES128-SHA256 “https://target.host” 需確認CURL版本支援–ciphers,經測試version 7.47.0不支援

[Linux] SSH Manual – SSH 使用指南

Intro RFC4252 – The Secure Shell (SSH) Authentication Protocol SSH – OpenBSD manual page server ssh_config — OpenSSH SSH client configuration files ssh $ ssh user@host.com ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] […]

[HTTPS] Two-way SSL – SSL雙向驗證 on Nginx

Intro Two-way SSL即Server端也要求Client端提供certificate做驗證,handshake流程上是Client端先驗證Server端後才換Server端驗證Client端。 Client端憑證 Client端提供終端憑證並設定使用該憑證對應的Private Key; Server端設定Client端的CA憑證,以用於驗證Client端提供的終端憑證。 [Server] TLS/SSL憑證(Certificate)常用指令 – 製作CSR Nginx設定 Nginx可以在Server block上啟用驗證Client端certificate: server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/public.crt; ssl_certificate_key /etc/nginx/ssl/private.rsa; # Client certificate verification ssl_client_certificate /etc/nginx/ssl/client_ca.pem; ssl_verify_client on; server_name api.my_domain.com; location / { # … } } […]

[AWS] VPC 設定指南 (NAT Gateway)

Intro AWS VPC為提供完整雲端網路架構設定。 VPC NAT Gateway AWS – VPC with Public and Private Subnets (NAT) 以上官網文件與架構圖提供完整概念。 NAT Subnet (僅內網IP可出NAT) 設定流程 建立VPC 建立一個外網subnet(關聯建立Route Table: 0.0.0.0/0閘道接外網IGW),與一個內網subnet(搭配建立Route Table: 0.0.0.0/0閘道先不設定),而同一個VPC下兩個subnet是接通的(兩邊Route Table的共同VPC CIDR接local) 建立一個NAT Gateway(會有一組EIP)且建在外網subnet中。 完成建立NAT Gateway後,再次設定內網subnet關聯的Route Table,增加 0.0.0.0/0接此NAT Gateway 以上網路架構,內網subnet(即NAT Subnet )下的EC2出Internet都會用NAT Gateway的EIP出去。 NAT […]

[OS] MacOS 基本使用架構與環境指南

Intro MacOS雖然是封閉系統,但這年頭應該很難不用到Mac筆電。 使用了Mac筆電意味著BIOS全部走Mac系列。 開機區 MacOS走UEFI,開機時按住指定鍵組: Option: 列出可開機磁區供選擇(如Bootcamp Windows),亦支援Windows開機區。 Command+R: 進入修復工具,包含磁碟工具程式與重新安裝OS X。 重灌 目前MacOS版本的修復工具已有線上OS直接下載安裝支援,連上網路即可只接重新安裝。全新安裝可先清除磁區再安裝。 Windows with MacOS Bootcamp 建議的安裝方式,在MacOS的Bootcamp(啟動切換輔助程式)工具程式分割與引導安裝Windows。目前版本上MacOS還是會每次下載驅動程式,其只需要分割出一個Partition供Windows使用即可。 觸控板捲軸反向問題 以下為原生Bootcamp解法,亦可裝第三方驅動程式解決 Bootcamp的Windows可以在右下角Bootcamp控制台做鍵盤與觸控板設定,另外觸控板反向驅動如果Windows設定內也沒有則可以透過修改登錄檔: 找到觸控板的裝置識別碼 (可以透過Windows觸控板設定更多內容 > 詳細資料 > 屬性:選裝置識別碼或路徑) 登錄檔修改(regedit)內搜尋或找到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ HID \ {裝置識別碼} \ ??? […]

[Dict] Golden Dict 跨平台多格式支援開源字典

Intro Golden Dict官網 Golden Dict GitHub 字典來源 – StarDict Dictionaries 中文字典 – 字典來源 – StarDict Dictionaries 安裝 Windows 直接至官網Download頁面下載即可。 MacOS 官方GitHub Wiki:Early Access Builds for Mac OS X 字典 字典檔的Source可以參考Intro連結。 字典的安裝預設路徑: ./GoldenDict/content 安裝完成後即可Rescan取得進行設定。 MacOS可以進入程式套件資料夾內MacOS/content加入路徑設定掃描