どうもRyujiです。
今日は色々な人のエラーを解決しました!エラーや意図しない動作を見た数では誰にも負けない気がします。( ✌︎’ω’)✌︎
さて、今日はssh接続について記事にします。
ssh接続のコマンド長くて覚えれないよっ!って人に送る記事です。
Contents
ssh接続コマンドとは
sshコマンドはSecure Shell、他のマシンにリモート接続する際に利用するコマンドです。リモート接続コマンドは他にtelnetなどがありますが、sshはデータを暗号化して通信するので、安全です。
sshコマンドのhelpを表示したら以下のオプションがあるようです。
よく使う使い方
$ ssh -i ~/.ssh/[key_name].pem ec2-user@[ipアドレス]
他の使い方
とりあえずアクセスする
$ ssh example.com
ユーザ名を指定してアクセスする
$ ssh -l ryuji example.com $ ssh ryuji@example.com
ポート番号を指定してアクセスする
$ ssh -p 20000 ryuji@example.com
コマンドの覚え方
※覚えません
覚えなくてもよいやり方を追及しましょう。
サボり方 Level.1
鍵を毎回指定しなくていいようにしましょう。今回はec2-userの場合の書き方で説明しています。(追記:123は行番号です入力不要です。2、3行目2スペース分インデントが必要です)
~/.ssh/configを作成・追記
1 Host 10.254.1.4
2 IdentityFile ~/.ssh/hello.pem
3 User ec2-user
これで鍵指定を省略できるようになりました!素晴らしい!もちろんセキュリティは甘くなるので、ご認識を。
# before
ssh -i ~/.ssh/[key_name].pem ec2-user@[ipアドレス]
# after
ssh ec2-user@[ipアドレス]
サボり方 Level.2
いやまだおぼえられないよ!って方!aliasを設定しましょう。
aliasはbashの標準機能です。
~/.bashrcに追記 alias ec2='ssh ec2-user@[ipアドレス]'
設定を反映させるため以下実行
$ source ~/.bashrc
ec2にアクセス
$ ec2 Last login: Sun Jun 9 16:11:08 2019 from xxx __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/xxxx.xx-release-notes/
いやそもそもfish使おうよ!
fishが便利ですって言いたいだけです。
fishは過去のコマンドを候補として出してくれますので、一瞬です。
fish導入は過去記事で紹介しています。
(おまけ)一定時間でEC2へのアクセスが切断されてしまうのを回避する
そもそもsshコマンドを打つ回数自体を減らしましょう。
EC2は一定時間で接続を切断してしまいます。
なので以下追記して、定期的に通信を発生させましょう。
~/.ssh/configを追記 1 Host 10.254.1.4 2 IdentityFile ~/.ssh/hello.pem 3 User ec2-user 4 ServerAliveInterval 60
まとめ
前職でサーバ系を担当していたので、なんとなくLinuxコマンドは使えるような気がします。皆さんも楽するエンジニアライフを!
P.S.
先日から作っている数独のアプリは非同期通信がうまくいきました!
自動更新はうまくいきません。進捗的には悪かったです。明日頑張ります。