AWS 將 pem 轉 ppk 進行登入,使用 puttygen.exe

申請好 AWS EC2 主機後,AWS 會提供一個 .pem 檔,如果要用 Terminal 走 ssh port 連線登入,是需要先轉成 .ppk 檔才能使用,所以這邊介紹一下 Puttygen.exe

這邊提供兩個載點

閱讀更多

AWS 設定免 ppk 檔登入方式(更新0644問題)

方式一:

在AWS上建立完你的主機後,先把 .pem 檔保留好,

接下來可以使用以下指令,透過 .pem 檔進行登入

ssh -i ~/路徑/密鑰名稱.pem ec2-user@IP

MacBook-Pro % ssh -i server-key.pem ec2-user@1.31.37.203
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'server-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "server-key.pem": bad permissions
ec2-user@1.31.37.203: Permission denied (publickey).

如果出現 Permissions 0644 for pet are too open.
代表你的pem權限開太高了,需要將pem的權限改為 0600 (Owner 可進行讀、寫,其它用戶則不能使用讀、寫、執行的權限)

MacBook-Pro % sudo chmod 600 server-key.pem

方式二:

在 AWS 開 Linux EC2 後預設的登入方式

  1.  必須用 .pem 轉 .ppk 後使用 putty 登入
  2.  只能用 user 帳號 ec2-user 登入
  3. 登入後僅 user 權限, root 權限指令需加 sudo 從 user 權限切換到 root 權限

閱讀更多

CentOS 安裝 NSQ(分散式的即時消息服務平台) 及開機配制設定

NSQ(分散式的即時消息服務平台)

NSQ是一個基於Go語言的分散式即時消息平台,它基於MIT開源協議發佈,程式碼在GitHub,其當前最新版本是1.0.0版。NSQ可用於大規模系統中的即時消息服務,並且每天能夠處理數億級別的消息,其設計目標是為在分散式環境下進行的去除中心化服務提供一個強大的基礎架構。NSQ具有分散式、去除中心化的拓撲結構,該結構具有無單點故障、故障容錯、高可用性以及能夠保證消息的可靠傳遞的特徵。NSQ非常容易配置和部署,且具有最大的靈活性,支持眾多消息協議。另外,官方還提供了拆箱即用Go和Python庫。如果讀者興趣構建自己的客戶端的話,還可以參考官方提供的協議規範

閱讀更多

[Golang] 使用 yum 在 Centos 7 上安裝 Golang

使用 yum 在 Centos 7 上安裝 Golang

1、首先,先安裝EPEL :

[root@localhost tmp]# yum install epel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.xtom.com.hk
 * extras: mirror.xtom.com.hk
 * updates: mirror.xtom.com.hk
No package epel available.
Error: Nothing to do

如果已安裝過可以略過這個步驟

閱讀更多

Awesome Go Storage:Golang 開發可以用到的套件

Awesome Go Storage Awesome

這是在網路上找到的 golang 開發可以用到的套件,可以參考一下

Reference from: https://github.com/gostor/awesome-go-storage/blob/master/README.md

A curated list of awesome Go storage projects and libraries. Inspired by awesome-go.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Contents

閱讀更多

[Golang] 使用 Group Cache 來寫一個 Image Server 範例

測試方式

go run groupcache.go -http=:8081 -groupcache-peers=:8082,:8083
go run groupcache.go -http=:8082 -groupcache-peers=:8081,:8083
go run groupcache.go -http=:8083 -groupcache-peers=:8081,:8082

開啟你的本地瀏覽器 http://localhost:8081/medium.jpg?width=100

這邊是可以看到你目前的狀態 http://localhost:8081/stats

你可以看到以下的資訊

{
  "Group": {
    "Gets": 2,
    "CacheHits": 1,
    "PeerLoads": 0,
    "PeerErrors": 1,
    "Loads": 1,
    "LoadsDeduped": 1,
    "LocalLoads": 1,
    "LocalLoadErrs": 0,
    "ServerRequests": 0
  },
  "Caches": {
    "Main": {
      "Bytes": 2762,
      "Items": 1,
      "Gets": 3,
      "Hits": 1,
      "Evictions": 0
    },
    "Hot": {
      "Bytes": 0,
      "Items": 0,
      "Gets": 2,
      "Hits": 0,
      "Evictions": 0
    }
  }
}

 

閱讀更多

XMPP協議相關基礎概念

1. XMPP
eXtensible Messaging and Presence Protocol可擴展消息處理和現場協議,用於在2個地點之間傳遞小型的結構化數據段的協議。定義了在兩個或更多痛心屍體之間傳遞數據所採用的格式。
2. XMPP服務器
為XMPP節提供路由。
3.應用
在XMPP內部,可以找到由聯繫人組成的花名冊,可以用它們來創建定向或無向社交圖。
當聯繫人上下線時自動發送出席通知,而個人消息和公共消息時XMLPP系統的基礎應用。
有時候開發人選選擇XMPP作為底層技術。
4. XMPP內部功能塊
構建發布-訂閱服務、多人聊天、表單檢索和處理、實時數據傳輸、隱私控制、遠程過程調用。
5. XMPP節
XMPP通信的端點以節為單位來處理輸入和產生輸出。
首先有個XMPP流,然後所有工作都是在這個流上發送和接收XMPP節實現的。
XMPP流有2份XML文檔組成,通信的每個方向均有1份。這些文檔的根節點是<stream:stream>。這個stream節點的子節點由“可陸游的節以及流相關的頂級節點”構成。每個節都是一個XML元素(包括它的子節點)。
XMPP節有3種:<presence>、<message>、<iq>。

閱讀更多

Strophe JS 說明

    • Strophe對像中
      • 命名空間
      • 連接狀態
      • 日誌
      • addConnectionPlugin 添加插件
      • forEachChild
        • 示例,解析Vcard節
      • isTagEqual
      • xmlescape,xmlunescape,serialize
      • escapeNode,unescapeNode
      • 與JID相關的幾個方法getNodeFromJid,getDomainFromJid,getResourceFromJid,getBareJidFromJid
    • Strophe.Builder
      • 示例
    • Strophe.Handler和trophe.TimeHandler
    • SASL
      • Strophe.SASLMechanism 驗證機制
    • Strophe.Connection
      • connect, disconnect斷開連接。
      • send(elem) 發送節, sendIQ(elem, callback, errback, ti​​meout) 發送IQ節
      • addHandler,deleteHandler,addTimedHandler,deleteTimedHandler
      • xmlInput,xmlOutput,rawInput,rawOutput
    • Strohpe.Websocket,Strophe.Bosh 和Strophe.Request

閱讀更多