SSH鍵ファイルを使ったSFTPの接続方法(コマンド・Transmit)

目次

始めにやること

SSH鍵について

SSH鍵ファイルは予め支給されることが一般的で、よく使用される拡張子は.pemです。Macの場合、SSH鍵は以下のディレクトリに配置します:/Users/【パソコンのユーザー名】/.ssh/

接続方法

初めにコマンドラインで接続ができるか試し、その後Transmitで接続を試みます。Transmitでは、SSH鍵のエラーが表示されないため、先にコマンドでの接続確認が推奨されます。

コマンドで接続する場合

Macの場合、以下のコマンドをターミナルに入力します:

sftp -i 【SSH鍵のパス】 【ログインユーザー名】@【IP名】:/

ポイントは、ポート番号を指定しないことです。

例えば、IPが1.234.567.89、ログインユーザ名がuser-hoge、鍵ファイルがssh-hoge.pemの場合、次のようになります:

sftp -i /Users/【パソコンのユーザー名】/.ssh/ssh-hoge.pem user-hoge@1.234.567.89:/

エラーが出た場合

上記のコマンドを実行すると、以下のエラーが出ることがあります:

Warning: Permanently added '1.234.567.89' (ED25519) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/【パソコンのユーザー名】/.ssh/ssh-hoge.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/【パソコンのユーザー名】/.ssh/ssh-hoge.pem": bad permissions
user-hoge@1.234.567.89: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Connection closed

この問題は、秘密鍵ファイル(/Users/【パソコンのユーザー名】/.ssh/ssh-hoge.pem)のパーミッションに起因します。Unixベースのシステム(LinuxやMac OSなど)では、SSHは秘密鍵ファイルに他のユーザーがアクセスできないようにする必要があります。

これに対処するには、所有者だけが読み書きできるようにパーミッションを制限する必要があります。以下のchmodコマンドでパーミッションを変更します:

chmod 600 /Users/【パソコンのユーザー名】/.ssh/ssh-hoge.pem

このコマンドは、ファイルまたはディレクトリのパーミッションを変更するUnixコマンドで、600は数値でパーミッションレベルを表し、所有者に対する読み取りと書き込みのパーミッションを指定します。

このコマンドを実行した後に、もう一度sftpの接続コマンドを実行すると接続できます。

Transmitでの接続

接続設定で注意するポイントは次の通りです:

  • プロトコルを「SFTP」に設定します。
  • パスワードの鍵マークをクリックし、上記で設定したSSH鍵を選択します。

以上が、SSH鍵ファイルを使用したSFTPの接続方法(コマンド・Transmit)です。

WEBもがき道場

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
目次