以下の記事を参考に作成します。
※ ファイル名を変更するにはf
オプションでファイル名をフルパス
指定します。
ファイル名を指定しない場合は、秘密鍵が$HOME/.ssh/id_ed25519
、公開鍵が$HOME/.ssh/id_ed25519.pub
になります。
RSA形式も同様にファイル名を指定しない場合は秘密鍵が$HOME/.ssh/id_rsa
、公開鍵が$HOME/.ssh/id_rsa.pub
になります
ed25519形式
$ ssh-keygen -t ed25519 -C "your_email@example.com"
RSA形式
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
作成した公開鍵はサーバーの.ssh/authorized_keys
ファイルに追記します(なければ作成します)。
秘密鍵は所有者にのみ読み書き権限を付与します(600
)。
所有者以外に権限があるとpermission denied
になります。
追記
読み込み権限があれば良いので、400
が最も安全なパーミッションで推奨値です。
秘密鍵のパスフレーズはコピー&ペーストはできません。
入力してください。
SSHの設定を./ssh/config
に記載できます。
~/.ssh/config
Host example
HostName example.com
IdentityFile ~/.ssh/example.pem
User myuser
config
で設定した環境に接続します。
$ ssh example
実行時にiオブションで秘密鍵を指定することもできます。
$ ssh myuser@xxx.xxx.xxx.xxx -i ~/.ssh/example.pem
MacOS Sierra
は、パスフレーズを秘密鍵に設定した場合は、毎回入力する必要があります。
2度目以降パスフレーズを省略するときは~/.ssh/config
に設定を追加します。
Host *
AddKeysToAgent yes
UseKeychain yes
ref.
[Sierra] macos Sierra に更新してから、毎回パスフレーズを聞かれてくることに対する対策 [ssh] - Qiita
Host *
AddKeysToAgent yes
UseKeychain yes
Host aws
HostName 52.68.24.79
IdentityFile /Volumes/production/application/min-ker.com/min-ker.com.aws.ssh/aws_ssh_key.pem
User ubuntu
Host aws2
HostName 52.199.2.159
IdentityFile /Volumes/production/application/min-ker.com/min-ker.com.aws.ssh/aws_ssh_key.pem
User ec2-user
https://qiita.com/shotaTsuge/items/48bdaccdafa5475d9016
#--------------------
# 個人環境
#--------------------
Host gateway
Hostname xxx.xxx.xxx.xxx
User ubuntu
IdentityFile /path/to/sercret.key # --(1)
StrictHostKeyChecking=no
Host target
Hostname 10.xxx.xxx.xxx # プライベートIP
User ubuntu
# 秘密鍵がデフォルトの.ssh/id_rsaでない場合はこちらの設定が必要
IdentityFile /path/to/sercret.key # こちらは(1)と同じローカルの秘密鍵を設定する。
StrictHostKeyChecking=no
ProxyCommand ssh -W %h:%p gateway
秘密鍵
からも公開鍵
からも同じフィンガープリントになります。
フィンガープリント生成に使用する暗号学的ハッシュ関数
はおもに2種類あります。
# デフォルトはSHA256
$ ssh-keygen -lf id_rsa
// ssh-keygen -lf id_rsa.pub 同じフィンガープリント
2048 SHA256:xxxxxxxxxxxxxxxxxxxxxx id_rsa.pub (RSA)
# MD5
$ ssh-keygen -E md5 -lf id_rsa
// ssh-keygen -E md5 -lf id_rsa.pub 同じフィンガープリント
2048 MD5:91:db:XX:XX id_rsa.pub (RSA)
https://linuxfan.info/ssh-pubkey-fingerprint
下記のようなSFTP情報が送られてきたときは以下でSSHへ接続できる場合があります。
SFTP
Address: example.vs.sakura.ne.jp
User: myuser
Pass: mypassword
$ ssh myuser@example.vs.sakura.ne.jp
password mypassword
FileZillaが対応いていない秘密鍵の形式のときはppkへ変更する旨のダイアログが表示される場合があります。
ppkへ変換すれば接続できます。