Coda2でSSH鍵ファイルを使って、SFTP接続にハマったので対処方法をメモします。
SSH鍵認証って?
パスワードなしでSSH接続できるSSH鍵認証、手軽ですよね。
最近はAWS EC2での標準の接続方法になってたりして結構使ってる人も多そうです。
Coda2でSSH鍵認証がエラーになる件
で、今回はそのSSH鍵認証を使ってSFTPしようして、
普段使ってるCoda2にその設定をしようとしたら見事にハマりました。
Coda2の設定画面で、パスワード横にSSH秘密鍵を選択できるボタンがあります。
ここで鍵を選択したわけですが、
こーんなエラー。
鍵ファイルが壊れてる?と思いましたが、ターミナルからsshコマンドや
scpコマンドで使用しても正常に処理が行えました。
で、いろいろググるとどうも、~/.ssh/configファイルが必要そうとの情報が。
公式にもそれらしいことは書いてありましたが、「便利です」と「必須です」は違うよね( ´_ゝ`)
解決編
まずは、「~/.ssh/config」ファイルを記述します。
ない場合は新規作成しちゃってください。
1 2 3 4 |
Host sria HostName xxx.xxx.xxx.xxx User sria IdentityFile ~/.ssh/sria_rsa.pem |
内容はこんな感じです。
Hostは、設定名
HostNameは、実際の接続先
Userは、接続ユーザ名
IdentityFileは、SSH秘密鍵ファイルへのパス
を記述します。
で、次はCoda2の設定。
重要なのは、
サーバ名にConfigのHostを入力
ユーザにConfigのUserを入力
その都度尋ねるにチェック
をすることです。
これで設定は完了。
接続時に秘密鍵のパスフレーズが毎回聞かれますが接続できるかと思います。
最後に
そもそもCoda2のバグっぽい感じでしたが、ググるとConfigのHostは適当に入力。。。とあったので
そこで結構引っかかってたように思います。
恐らくCoda2はサーバ名をHostに当てに行って、SSH鍵を使うとかの設定を見てるんだろうなぁと。
ちなみにEC2を踏み台にRDSに接続する際も上記が使えて、Coda2からRDS(MySQL)へも接続できました。