SSHについての備忘録
自分用に適当にsshについての備忘録を残しておく。
サーバ側の準備①
openssh-serverをダウンロードする
# debian系
sudo apt install openssh-server
sshの設定ファイルの編集、変更箇所のみ(公開鍵認証の場合)。
sudo vim /etc/ssh/aahd_config
/etc/ssh/aahd_config
# SSHのポート変更
Port xxxx #デフォルトは22。0~65535まで設定可能。# rootログインを禁止
PermitRootLogin no #デフォルトは prohibit-password# 公開鍵認証を有効化
PubkeyAuthentication yes#コメントアウト外すだけ#パスワード認証を無効化
PasswordAuthentication no #デフォルトだとyesクライアント側の準備
鍵の作成。いろいろ設定できるが、Enter連打でデフォルトのまま作成可能。
ssh-keygen
~/.ssh にid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成される。このうち公開鍵であるid_rsa.pubをサーバ側に登録する必要がある。DropboxやUSB使ったり、SSHをデフォルト設定にしてscpで送ったり、ファイル内の文字列をそのままコピーしたりしてサーバ側に持っていく。
サーバ側の準備②
authorized_keysファイルにクライアントの公開鍵を登録する。
cat id_rsa.pub >> ~/.ssh/authorized_keys
sshサーバの自動起動設定をしておく。
sudo systemctl enable sshd
sshサーバを起動する
sudo systemctl start sshd
ここまでで、公開鍵認証でのSSHサーバ側の設定は完了。
クライアント側での操作
ssh、scp、rsyncなどのコマンドを使ってsshサーバに接続したりできる。また、~/.ssh/configを設定するとかなり使いやすくなる。ポート開放とかする場合はファイアウォールの設定をしてからにする。
ssh configの設定
sudo vim ~/.ssh/config
~/.ssh/config
Host "接続名"
Hostname "IPアドレス"
User "ユーザ名"
Port "ポート番号"これにより、ssh,scp,rsyncなどのコマンドを以下のように省略できる。めちゃめちゃ楽。
ssh -p "ポート番号" user@xxx.xxx.x.xx
↓
ssh "接続名"
scp -P "ポート番号" file user@xxx.xxx.x.xx
↓
scp faile "接続名"
rsync -e "ssh user@xxx.xxx.x.xx:file" dir
↓
rsync "接続名":file dir
scp,rsyncのオプションについて
よく使うオプションについてのメモ。意味は覚えてない。
# scpのオプション
-rCp
# rsyncのオプション
-avzuh --delete
最後に
暇があったら追記したり書き換えたりするかもしれない。