最近升級到macOS Sierra後,發現 ssh 到之前用ssh-copy-id 的機器,都會問 Enter passphrase for key 。
問了股溝大神後,大概知道情況,解法備份如下:
問了股溝大神後,大概知道情況,解法備份如下:
- 先用homebrew裝好ssh-copy-id設好ssh key
- 編輯/新增 /Users/$USER/Library/LaunchAgents/ssh-agent.plist ,內容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.ssh.ssh-agent</string> <key>OnDemand</key> <false/> <key>Program</key> <string>/Users/username/.ssh/ssh-agent.sh</string> <key>RunAtLoad </key> <true/> <key>ServiceDescription</key> <string>Launch ssh-agent</string> </dict></plist>
- 在 /Users/$USER/.ssh 目錄 增加一個檔案 /Users/$USER/.ssh/ssh-agent.sh ,內容如下:
#!/bin/sh rm /Users/$USER/.ssh/ssh-agent.pipe exec /usr/bin/ssh-agent -a /Users/$USER/.ssh/ssh-agent.pipe -d
這檔案裡的$USER最好換成自己的username - 再執行
$ chmod +x /Users/$USER/.ssh/ssh-agent.sh
- 接著執行
$ launchctl start com.ssh.ssh-agent
- 在 ~/.profile 或是 ~/.zshrc 加上
export SSH_AUTH_SOCK=/Users/$USER/.ssh/ssh-agent.pipe
ssh-add -K
留言