Ssh

Lsyncd 無法在 Mac 10.9 上執行

  • April 16, 2019

我正在嘗試使用lsyncd自動將文件移動到我的本地開發伺服器。我的主機是 OSX 10.9。

伺服器上的 SSH 工作正常。我可以使用來自主機的 ssh 進行連接。我正在使用 SSH 密鑰登錄。我想做同樣的事情lsyncd並讓它使用相同的密鑰。

我已經安裝了https://github.com/markcarver/mac-ssh-askpass因為 OSX 不包括ssh-askpass但它一直要求輸入root@snapdev.com.

lsyncd在 Mac OSX 10.9 上使用時非常頭疼。lsyncd由於不同版本之間使用的選項發生了變化,並且文章/指南不一致,Google並沒有太大幫助。

這是我的設置文件:

settings {
       logfile = "/var/log/lsyncd/lsyncd.log",
       statusFile = "/var/log/lsyncd/lsyncd.status",
       statusInterval = 1
}
sync {
   default.rsyncssh,
       source = "/Users/jay/Desktop/snapnames",
   host = "snapdev.com",
   targetdir = "~/public_html",
   excludeFrom = "/etc/lsyncd/lsyncd.dev.exclude",
   rsync = {
       protect_args = false,
       archive = true,
       compress = false,
       whole_file = false,
   },
   ssh = {
       port = 1337,
       _extra = {"/usr/bin/ssh -l developer -p 1337 -i /Users/jay/.ssh/id_rsa.pub -o StrictHostKeyChecking=no"}
   }
}

為什麼要輸入密碼?SSH 在同一主機上使用我的密鑰無需密碼即可工作。

很困惑,因為我什至沒有登錄root

**編輯:**我現在已經切換到使用Grunt. 在 OSX 上使用 lsyncd 太麻煩了。我仍然想要一個答案,所以我知道我哪裡出錯了。

看起來您正在送出密鑰的公共版本而不是私有版本。

嘗試改變:

/Users/jay/.ssh/id_rsa.pub

/Users/jay/.ssh/id_rsa

引用自:https://unix.stackexchange.com/questions/204028