1.問題描述
想通過scp把mac上的本地jar包傳輸?shù)椒?wù)器上去,結(jié)果發(fā)現(xiàn)報了如下錯誤:
ssh: connect to host xx.xx.xx.xx port 22: Connection refused
然后在服務(wù)器上試著ping了一下mac的ip,發(fā)現(xiàn)能ping通,很明顯,那這是sshd服務(wù)的問題。
2.mac上的sshd服務(wù)
回頭再mac上再查一把,果然發(fā)現(xiàn)沒有sshd的服務(wù),只有ssh-agent
ps -ef | grep ssh
501 2301 1 0 9:36下午 ?? 0:00.06 /usr/bin/ssh-agent -l
應(yīng)該是macOs上默認(rèn)不會自動開啟sshd服務(wù),所以需要手動開啟一下。
查了一下資料,可以用如下方式啟動sshd服務(wù)
sudo /usr/sbin/sshd
結(jié)果又華麗麗的報了一堆錯:
sudo /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
哎,這很明顯是/etc/ssh里沒有對應(yīng)的密鑰對
3.生成對應(yīng)的密鑰對
解決起來就比較簡單了,生成對應(yīng)的密鑰對即可。
sudo ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ed25519_key
此時/etc/ssh里就多了4對密鑰對

屏幕快照 2017-10-01 下午10.44.46.png
這個時候再啟動sshd服務(wù)
sudo /usr/sbin/sshd
不再報錯,順利啟動!
grep sshd
0 2622 1 0 10:10下午 ?? 0:00.00 /usr/sbin/sshd