🔐
【Linux】SSHでLinuxサーバーに接続したら覚えておきたいCLIコマンドと注意点
はじめに
LinuxサーバーへのSSH接続はエンジニアにとってよくある作業です。ただ、慣れないうちはサーバー上で操作することに不安を感じることも多いと思います。この記事では、サーバーにSSH接続した際に知っておきたいCLIコマンドや注意点、効率化のためのTipsをまとめました。
対象者
- SSHを使ってLinuxサーバーに接続するエンジニア
- CLIでの作業に慣れていない方
- 検証/本番環境での作業時に不安を感じる方
SSH接続
基本操作
- 接続:
ssh user@hostname
- 接続(ポート指定):
ssh -p port_number user@hostname
SSH接続設定(~/.ssh/configの利用)
SSHで頻繁に接続するサーバには、接続設定を簡略化して効率化できます。
~/.ssh/config
#設定例
Host myserver
HostName hostname
User user
Port 22
# 利用時
$ ssh myserver
SSH接続できない場合
- 公開鍵の権限設定ミス(chmod 600 ~/.ssh/id_rsa)を確認
- サーバー側のauthorized_keysの設定確認
- ファイアウォールの設定やサーバーのSSHサービスの状態を確認
- 公開鍵と秘密鍵のペアを再生成する
- ログイン時のエラーメッセージを分析(
ssh -v
オプションで詳細表示)
作業時の基本操作
ディレクトリ操作
- 現在のディレクトリ確認:
pwd
- ディレクトリの移動:
cd
- ディレクトリ内のファイル表示:
ls -la
(ディレクトリ移動後は習慣づけると良い) - ディレクトリ作成:
mkdir new_directory
ファイル操作
- ファイル閲覧:
cat file_name
- ファイルの内容をページ単位で閲覧:
less file_name
- ファイルの編集:
vi file_name
またはnano file_name
- ファイルのコピー:
cp source_file destination
- ファイルの削除:
rm file_name
プロセス管理
- 実行中のプロセス一覧表示:
ps aux
- プロセスを終了させる:
kill process_id
システム情報の確認
- メモリ使用状況:
free -h
- ディスク容量確認:
df -h
- システム負荷状況:
top
作業時の安全性を高めるポイント
ターミナルでの操作
- 基本的に手打ち入力せず、コピー&ペーストでタイポを防ぐ
- cdコマンドを使う際はタブキー補完機能を活用する
- iTerm2やTeratermなどのソフトは文字選択するだけでコピーできる
ログ確認
- リアルタイムログ確認:
tail -f /path/to/log
- 最新のログを指定行数で表示:
tail -n 行数 /path/to/log
sudoやroot権限の利用
- 必要最低限のコマンドのみsudoを使う
- rootでログインするのは極力避ける
危険なコマンドの扱い
-
rm
、mv
、cp
コマンドの使用時は、絶対パスを使用するか慎重にパスを確認する
バックアップの取り方
- 操作前に設定ファイルを必ずバックアップ
$ cp /path/to/file.conf /path/to/file.conf.bk_yyyymmdd
viとlessの使い分け
viとは?
viは強力なテキストエディターです。ファイルの閲覧に加えて、直接編集や変更を行うことが可能です。操作には独特なモード切り替え(コマンドモードと挿入モードなど)があります。
lessとは?
lessはファイルを「閲覧」することに特化したコマンドです。編集機能はなく、表示に特化しています。大きなファイルを迅速にスクロールし、検索するのに適しています。
viを使うシーン
- ファイルの内容を直接編集・変更したいとき
- 設定ファイルやスクリプトの編集が必要なとき
- 素早くファイル内の文字列を検索して置換したいとき
例: 設定ファイルを即座に修正したい
$ vi /etc/httpd/conf/httpd.conf
lessを使うシーン
- 巨大なログファイルを閲覧し、特定のキーワードを探したいとき
- 誤って編集してしまうのを避け、安全にファイルを確認したいとき
- 出力内容をパイプで渡して確認したいとき
例: ログファイルの内容を安全に確認したい
$ less /var/log/syslog
lessとviの組み合わせ
lessでファイルを確認中に、編集したくなったら、簡単にviを起動できます。
lessで閲覧中に「v」を押すだけで、そのままviが開き、即座に編集モードに入れます。
$ less example.txt
(閲覧中に「v」を押す)
安全に作業を終えるために
- 作業後は変更箇所やログを再確認し、想定通りの挙動であることを確認
- SSH接続終了:
exit
- 複数セッションを開いている場合は、必ずすべてのセッションを確認してから終了
おわりに
私自身、初めて本番環境に入った時はとても緊張しましたが、徐々に操作回数を重ねていくことで様々な操作ができるようになりました。この記事が、サーバー上での安全かつ効率的な作業を行う手助けになれば幸いです。
株式会社ONE WEDGE
【Serverlessで世の中をもっと楽しく】
ONE WEDGEはServerlessシステム開発を中核技術としてWeb系システム開発、AWS/GCPを利用した業務システム・サービス開発、PWAを用いたモバイル開発、Alexaスキル開発など、元気と技術力を武器にお客様に真摯に向き合う価値創造企業です。
Discussion