最近 macOS Sierra 上的 OpenSSH 升级到 7.3p1 ,这意味着Include
config 指令可用,欢呼吧!
但是我在实际使用它时遇到了问题。
我有以下几点~/.ssh/config
:
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/keys/github_rsa
Host den
HostName narzt-desktop.local
User camden
GSSAPIAuthentication no
AddressFamily inet
Host walle
User CamdenNarzt
HostName WALLE.local
AddressFamily inet
GSSAPIAuthentication no
Include ~/.ssh/config.d/*
Run Code Online (Sandbox Code Playgroud)
我在这里看到,如果我-v
在 ssh 命令中添加了一堆标志,可能会有一些有用的调试输出,但是当我在其中一个包含的文件中测试主机的配置时,我得到了这个:
$ \ssh -vvvvG git-codecommit.us-east-1.amazonaws.com
OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /Users/camdennarzt/.ssh/config
debug3: /Users/camdennarzt/.ssh/config line 31: Including file /Users/camdennarzt/.ssh/config.d/family.conf depth 0 (parse only)
debug1: Reading configuration data …
Run Code Online (Sandbox Code Playgroud) 我已经阅读了launchd.plist
手册页,launchd 是否应该接收“错过的”事件?,而launchd 似乎忽略了 Yosemite 上的 StartCalendarInterval但这些都没有让我诊断为什么我的 launchd 任务没有运行。
我有一个任务计划在每天 10:35 运行,通常我的笔记本电脑当时处于睡眠状态,因此在这些情况下应该在笔记本电脑唤醒时启动该任务(并在笔记本电脑唤醒时正常运行)。
我实际看到的是,该任务很少单独运行,我始终必须使用 运行它launchctl start com.arewesmallyet.update
,尽管当我这样做时它运行良好(一次)。
launchctl list | fgrep -i arewe
给出:
- 0 com.arewesmallyet.update
Run Code Online (Sandbox Code Playgroud)
的输出launchctl print gui/501/com.arewesmallyet.update
是:
com.arewesmallyet.update = {
active count = 0
path = /Users/camdennarzt/Developer/Bash/dot-files/Library/LaunchAgents/com.arewesmallyet.update.plist
state = waiting
program = /Users/camdennarzt/Developer/Ruby/script.sh
arguments = {
/Users/camdennarzt/Developer/Ruby/script.sh
}
working directory = /Users/camdennarzt/Developer/Ruby/arewesmallyet
stdout path = /Users/camdennarzt/Developer/Ruby/arewesmallyet/log/update.log
stderr path = /Users/camdennarzt/Developer/Ruby/arewesmallyet/log/update_err.log
global environment = {
PATH => /usr/bin:/bin:/usr/sbin:/sbin
}
inherited …
Run Code Online (Sandbox Code Playgroud)