1つ前の記事で、ssh公開鍵のパスフレーズを省略できるようになったので
sshfs関連のスクリプトをcrontabで定期的に走らせるようにした
テストで動かしてみたら、ちゃんと動かない
エラーメッセージを見てみたら、
read: Connection reset by peer
状況
1. 単純にssh myname@hogehoge って打つと、きちんとhogehogeにパスフレーズを省略して接続できる
2. 他のcrontabはきちんと動いている
解決方法は今、模索中
まったくわからん
考えてること
1. crontabで走るので、usernameは自分がメインで使ってるusernameじゃない?
2. sshするときに多段sshをしている。~/.ssh/configが見れないのでどこにsshするのかわからない?
3. crontabで走るときは、自分のアカウントじゃないアカウントで動くので ~/.ssh以下を見るための権限がない?(configじゃなくて、秘密鍵も見れない?)
もうちょっと調査する
結局、このエラーの原因はまだ不明
sshfsでサーバーとの接続を切れたときに自動的に復旧するオプションがsshfsにあるっぽいので
今回はそれを使うことで対応する
関係ありそうな記事をメモしておく
■ 参考 : ssh_exchange_identificationと言われてknown_hosts消したりhosts.allowいじっても直らない時に確認してほしいこと
■ 参考 : Read from socket failed: Connection reset by peer
↑
「/etc/sshのssh_host_dsa_keyとssh_host_rsa_keyのパーミッションが600以外だとこのエラーが出るようです。」とあるが、
通常のsshではログインできるので、今は関係なさそう
解決した。
ssh鍵とか ~/.ssh/config などssh時に必要なファイルを /root/.ssh 以下にコピーすればいけた
こうすればrootでも見れる
というのも↑で書いてあるけど、パーミッションの問題で自分のアカウントの上にある ~/.sshがrootでは見えないのが原因っぽかった
ランキング参加中です
↓クリックしていただけると嬉しいです〜