Monthly Archives: June 2019

ssh auto login setup

下載puttygen https://www.puttygen.com/download-putty 產生出來的public key —- BEGIN SSH2 PUBLIC KEY —- Comment: “rsa-key-20190610” AAAAB3NzaC1yc2EAAAABJQAAAQEAtOBTilvMlexU6mhYroLhSmWIkg/Y3PprVaGO r7tm7PrScWFGOLUa4hzGTTx1tFl4CnP0rhiJ7cbvhBD6iNfFO2z7GxqMo2nhIOvF 0kejkuKWWsr4yCy9U0NDDLQedYemQvS4XIlULW5h1bLFaOgp+L1FzR75Pn4uFASU rB/4tfMY9v4adkUwMx2829aSwcrRRKt0caQQLHjjjDoFSiZlHy3jNIy6Kakz6aZb 9Xnmt7r78nvUxhjACm4p/MKuWJOFbDqPTATN8eDsztRsADKFXAvG3dMJowh2hiFi p4jf78S1VwfOF4//PRovV5SygPeWTzD1hKZ5pWWsgJwt3rYQDQ== —- END SSH2 PUBLIC KEY —- 將上面那串更新到 ~/.ssh/authorized_keys 注意只有base64的部分並且要是一整行不能斷行 注意 selinux的設定和 authorized_keys 需要是chmod 600格式為 options, keytype(ssh-rsa), base64-encoded key(AAAAB3N…), comment (options是可選)可參考 https://en.wikibooks.org/wiki/OpenSSH/Client_Configuration_Files#~/.ssh/authorized_keys

Posted in System Administration | Leave a comment

util.promise

在nodejs裡,大部分的io相關function是async,async透過callback返回處理結果, 因此在流程處理上容易因為連續多個async造成callback hell, 有些方式可以減緩這樣的問題:例如 async套件(https://www.npmjs.com/package/async), ES2015的promise ES2017的async await 都是處理這類的問題(async await在nodejs 7.6+支援)。 而promise和async await又能夠很好的配合使用。透過async await能夠大幅地消除callback hell, 並且很接近synchronous call的編寫流程。 但大多數的nodejs io function都是callback style的,無法直接被async await利用。 在nodejs8中有提供一個util function: util.promisify 能夠將callback style function轉成promise util.promisify使用時對於大部分callback style function FUNC(arg1, arg2, arg3…, callback) 不需特別注意,但少數callback參數不是在最後一個,則可以透過指定util.promisify.custom 告訴util.promisify要使用特定的promise 事實上可參考 setTimeout, setImmediate … Continue reading

Posted in nodejs | Leave a comment