ssh
接続先でタイムアウトになるのを防ぐため、クライアント側で接続時間を伸ばす設定
.ssh/config
に以下の設定を書き込む
30秒ごとに接続先が生きているか確認
ServerAliveInterval 30
200回まで接続先が生きていることを確認
ServerAliveCountMax 200
多段接続
ssh XXX -t ssh YYY
初の接続先の時の「Are you sure you want to continue connecting(yes/no)?」を聞かれないようにする
ssh -oStrictHostKeyChecking=no 接続先名
接続先登録
Host NAME
HostName 127.0.0.1
User USERNAME
IdentityFile ~/.ssh/SAMPLE.pem
TCPKeepAlive yes
IdentitiesOnly yes
# 鍵のチェックの無効化
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ポートフォワード
ssh -L ローカルポート:リモートホスト:リモートポート ユーザ名@SSH接続ホスト名
その他
- 接続テスト
# 接続テスト。実際にログインはしない
ssh -T github.com
# 成功の場合
## Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.
# 失敗の場合
## Permission denied (publickey).
- ssh-add
# ローカルPCの「SSHエージェント(鍵管理プログラム)」に秘密鍵を一時的に登録する
ssh-add ~/.ssh/id_rsa(鍵パス)
# 現在登録されている鍵を一覧表示
ssh-add -l
# 指定した鍵を削除
ssh-add -d 鍵パス
ssh-keygen
鍵の作成
ssh-keygen -t rsa -b 4096 -C "email@example.com" -f ~/.ssh/id_rsa(名付けたい鍵名)
接続先の情報を削除
# .ssh/known_hostsを直接編集してもOK
ssh-keygen -R remote_host_name
公開鍵のコピーを作成
ssh-keygen -y -f 秘密鍵の指定