sshでうまくいかなかった点を解決したので公開。
まず1つ、sshでパス入力なし公開鍵認証を行うためssh-copy-idで公開鍵をリモートホストにコピーしてもキーボードからのインタラクティブな入力を求められる。他のリモートホストに対してssh-copy-idを行っても上手くいく。.sshのパーミッションは正しい。ssh -vvvでdebugしてみると、
debug2: we did not send a packet, disable method
のように正しくないときは分岐してしまう。
答えは/homeのユーザのディレクトリのパーミッションが775で、これを755にしたら上手くいった。
2つめはsshでログインするときにあるリモートホストは時間がかかる。同じネットワーク内にあるほかのリモートホストにログインするときは早い。どちらも公開鍵認証なので、公開鍵認証の計算コストではない。
答えはresolveできていなかった点。/etc/hostsでホスト名を解決すると早くなった。
なんでsshをこんなにやっているのかというと、研究の実験を自動で行うためにスクリプトを構成しており、どうしても複数台のPCを操作する必要があるため。そこでsshでコマンドを投げて操作している。パスなしの公開鍵認証ならそれなりに安心。その実験の過程であるホストに対してはパス入力ができなかったりログインが遅かったりでフラストレーションが溜まっていた。