小编zac*_*san的帖子

在服务器/ Digital Ocean Droplet上手动设置ssh主机密钥

我想做以下事情:

  1. 从我的开发机器创建数字海洋飞沫(分发我的测试,这需要花费太长时间).
  2. 安全地向Droplet发出命令.
  3. 消灭液滴.

我坚持#2.我可以通过Digital Ocean API成功创建水滴,我可以在该authorized_keys区域设置SSH密钥,但如果我允许Digital Ocean创建密钥,那么我无法验证服务器的公钥.

现在通常情况下,如果这是在同一个数据中心内,它就不会引起关注,因为我可以依赖Digital Ocean而不是实施MITM攻击,因为他们无论如何都有root,但是因为我从我的开发机器连接,我需要一个信任公钥的方式.

我尝试过遵循各种cloud-init指南,但我总是得到错误:

ssh root@178.62.69.133
Connection closed by 178.62.69.133
Run Code Online (Sandbox Code Playgroud)

我试图消除任何错误的可能性,我甚至使用base64编码私钥,认为可能存在一些转义问题.

这是我用来创建密钥的命令:

e = "ssh-keygen -t ecdsa-sha2-nistp256 -f #{loc} -q -N #{password} -C \"\""
system(e)
Run Code Online (Sandbox Code Playgroud)

其中扩展到:

ssh-keygen -t ecdsa-sha2-nistp256 -f /tmp/testing-60f42fcf -q -N 77924d8f4fa12a365c8c003ca091f5ad6a2c4c22 -C ""
Run Code Online (Sandbox Code Playgroud)

我然后base64编码,

private_key = `base64 --wrap=0 #{loc}`.chomp
public_key = `base64 --wrap=0 #{loc}.pub`.chomp
Run Code Online (Sandbox Code Playgroud)

并将其放入cloud-init yaml文件中(不想使用,|因为它是Yaml中的一个特殊字符,如果可能的话我想避免它):

#cloud-config
---
runcmd:
- echo test > /root/test
- rm /etc/ssh/ssh_host*
- echo LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tClByb2MtVHlwZTogNCxFTkNSWVBURUQKREVLLUluZm86IEFFUy0xMjgtQ0JDLEY3MDNDNzM1QTAxQzgyNEVBRjhCODA4NkVDREIyMjAwCgpiYlpCa3A2Ujcyd1RRNUsyL2w4QW9YU3FQNllRVjV0aVJETytmU1FqZTlEUjY4MG9wY3RCRGhKRWdPQ0prSkw1CmhOUGxydzUveHFwTHM5UXc3cWJaWlUvRHR0YnlxZTFWUDcyVHBRS1pFL2FDcTdGTWFpbFJrcUpFa3JobVdCcFEKbWtQTW15M3BwVFZZKzJvRDZTdmMzdzZyTW1JTlpKUkltRUxiUk81S2M4bz0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
  > /tmp/base64_pri && base64 --decode /tmp/base64_pri …
Run Code Online (Sandbox Code Playgroud)

security ssh cloud-init digital-ocean

7
推荐指数
1
解决办法
661
查看次数

从PubChem FTP数据生成分子的2D图像

而不是抓住PubChem的网站,我宁愿做得好,并从PubChem ftp网站本地生成图像:

ftp://ftp.ncbi.nih.gov/pubchem/specifications/

唯一的问题是我仅限于OSX和Linux,我似乎无法找到一种以编程方式生成他们在网站上拥有的2D图像的方法.看这个例子:

https://pubchem.ncbi.nlm.nih.gov/compound/6#section=Top

在"2D结构"标题下,我们在这里有这样的图像:

https://pubchem.ncbi.nlm.nih.gov/image/imgsrv.fcgi?cid=6&t=l

这就是我想要产生的东西.

python scientific-computing scipy pubchem cheminformatics

6
推荐指数
2
解决办法
255
查看次数

为什么在rails 5.1.0中没有正确格式化schema.rb?

以前schema.rb是一个很好的地方,可以快速查看列默认值是什么以及它们是否可以为空,但现在它很麻烦.例如,这是一个用户表:

create_table "users", force: :cascade do |t|
  t.string   "name",                              null: false
  t.string   "email",                             null: false
  t.string   "locale",          default: "en-ca", null: false
  t.string   "password_digest",                   null: false
  t.datetime "created_at",                        null: false
  t.datetime "updated_at",                        null: false
  t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
end
Run Code Online (Sandbox Code Playgroud)

现在它看起来像这样可怕:

create_table "users", id: :serial, force: :cascade do |t|
  t.string "name", null: false
  t.string "email", null: false
  t.string "locale", default: "en-ca", null: false
  t.string "password_digest", null: false
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
  t.index ["email"], name: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rails-activerecord

5
推荐指数
1
解决办法
1174
查看次数