sshオプション | 意味 | 参考リンク |
---|---|---|
-i | 鍵を指定 | |
-f | sshをバックグラウンドで実行する | |
-L | ポート転送する | |
-N | 接続先のシェルを開かない | |
-o | 設定ファイルと同じ形式でオプションを指定する | ssh(1) manページ - nxmnpg.lemoda.net |
-W | netcatモードを有効にする | ssh ProxyCommandを利用した多段ssh - セキュリティ |
接続したい
# 接続に使用する秘密鍵ファイルを指定する
$ ssh -i {秘密鍵ファイル} {ユーザー名}@{接続先}
# 多段接続 : 踏み台の向こうにあるホストへ一発で接続したい
$ ssh -i {接続先鍵} -o ProxyCommand='ssh -i {踏み台鍵} -W %h:%p {踏み台ユーザ}@{踏み台アドレス}' {接続先ユーザ}@{接続先アドレス}
# 鍵と接続先をウッカリ逆にするとエラーになります。
$ ssh -i {ユーザー名}@{接続先} {秘密鍵ファイル}
Warning: Identity file {ユーザー名}@{接続先} not accessible: No such file or directory.
ssh: Could not resolve hostname {秘密鍵ファイル: Name or service not known
- OpenSSH のコネクションが切れにくいように Keepalive を送る - CUBE SUGAR CONTAINER
- 多段SSHやポートフォワーディングを '.ssh/config' に書く - Qiita
ポートフォワードしたい
# リモートコマンドを無効にして(-N)秘密鍵を指定して(-i)ポート転送(-L)する
$ ssh -N -L {接続元で使うポート}:{接続先IPアドレス}:{接続先のポート} -i {踏み台での秘密鍵ファイル} {踏み台でのユーザー名}@{踏み台IPアドレス}
- iptablesでやりたいことをやるためのリンク集 - Qiita
- Puttyで踏み台を使ったポートフォワードを設定する方法 - Qiita
- ポートフォワードをする - Qiita
- ~/.ssh/configについて - Qiita
ファイルをほかのサーバに転送指定
$ scp -i /path/to/{秘密鍵}.pem {コピー元ファイルパス} {ユーザー}@{コピー先IPアドレス}:{コピー先パス}
鍵を作りたい
$ ssh-keygen [オプション] -t 鍵タイプ [-N 新しいパスフレーズ] [-C コメント] [-f 鍵ファイル]
# パスフレーズを変更する
$ ssh-keygen -p [-P 古いパスフレーズ] [-N 新しいパスフレーズ] [-f 鍵ファイル]
# OpenSSH互換形式に変換してから標準出力に出力
$ ssh-keygen -i [-f 鍵ファイル]
# 公開鍵ファイルの指紋(fingerprint)を表示
$ ssh-keygen -l [-f 鍵ファイル]
# RAS鍵を作る場合
$ ssh-keygen -t rsa
鍵のフォーマットを変換したい
フォーマットを見てみる
RSA鍵のフォーマットを作って見て変換して体験実習しみた - Qiita
秘密鍵のパスフレーズを解除したい
- Puttyの秘密鍵の場合
- PuTTYgenを起動
- [Load]ボタンで秘密鍵(.ppk)を選択してパスフレーズを入力
- パスフレーズ欄のパスフレーズを削除
- [Save private key]ボタンで秘密鍵を出力
- 秘密鍵からパスフレーズを取り除く - Qiita
強度(鍵長)を確認したい
$ ssh-keygen -l -f ~/.ssh/id_rsa.pub
2048 62:47:8f:cd:fa:16:f4:15:74:c6:9a:3c:59:49:fe:f4 root@localhost.localdomain (RSA)
困った!
- WARNING: UNPROTECTED PRIVATE KEY FILE! - Qiita
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! - Qiita
- Unable to negotiate with : no matching host key type found. Their offer: ssh-rsa,ssh-dss - Qiita
- no such identity: key-name.pem: No such file or directory - Qiita
- finish_connect - ERROR: async io completed with error: - Qiita
- Missing target argument. - Qiita
- /usr/bin/ssh: No such file or directory - Qiita