始めにやること
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)です。