Synologyを利用していると、このプログラムはDSMの中の何処にあるのか?等を調べたくなる事があります。
この様な時に利用するのが「SSH接続」です。
しかし、この接続はDSM自体を壊す事もあるので注意して利用して下さい。
1.PCにSSHツールをインストールする
私のPCはWindows10なので「SSH/Telnetツール」として著名な「Tera Term」を使用しています。
このプログラムのダウンロードは下記URLから行えます。
プログラムには「exe」版と「zip」版があり、私は「exe」版をダウンロードしてインストールしました。バージョンは4.105です。
インストールが完了すると下記アイコンが追加されます。
2.DSMでSSH接続をONにする
DSMでSSH接続を許可する設定は下記になります。
1.コントロールパネルの下記アイコンを起動します
2.端末画面が表示されます
■「SSHサービスを有効にする」に✓を付けて、ポート番号「22」は変更してください。
■「適用」ボタンを挿入します。
以上でこのサーバはSSHでアクセスできる様になりました。
SSH接続は危険です
SSH接続のポート番号に「22」を使っていると、Synologyのセキュリティアドバイザが警告を発行します。よって他のポート番号を指定して下さい。
またTelnetやSSHでのアクセスは大変危険なアクセス方法です。
よってTelnetやSSHのポート番号は絶対にルータに設定しないで下さい。
リモートからSSHを使う必要がある場合は、VPN接続でローカルに接続してからSSHを利用して下さい。
3.DSMへのログインの仕方
1.Tera Termを起動します。下記画面が表示されます。
■Host:サーバのIPアドレスを指定してください。
■TCP ポート:DSMで設定した「22」以外のポート番号を入力します。
■「OK」ボタンを挿入します。
2.下記のログイン画面が表示されます。
■ユーザ名:DSMのローカルの管理者権限を持っているユーザを指定します。
■パスフレーズ:パスワードを入力します
■「OK」ボタンで接続されます。
3.コンソール画面が表示されます
■ヘッダの構成は下記になります
ユーザID@サーバ名
■画面上部に「危険なのでroot権限でコマンドを実行するな!」との警告文が表示されています。
4.mysqldumpプログラムの探し方
ここではmysqldumpプログラムが何処にあるのか?をSSH接続で探す事例を紹介します。
1.root権限に切り替える
現在ログインしたIDは、DSMの管理者IDです。
しかしDSMのファイルには、DSMの管理者IDでは見れないファイルが沢山あります。
この状態でファイルを検索すると、「Permission denied(権限が無い)」エラーが沢山出ます。
そこで下記コマンドを入れて「root」権限に切替りかえ、上記のエラーを回避します。
sudo -i
①上記を入力するとパスワードの入力が求められます。
②Tera Termにログインしたパスワードを入力します。
するとヘッダーが下記に変わります。
ユーザID@サーバ名 → root@サーバ名
以上で「root」権限でファイルを検索する事ができる様になります。
メモ
sudoは「superuser do」の略です。
ようは「root」権限で、TeraTermの画面に表示されていた警告文の対象IDです。
操作を間違えると、DBを壊してしまう危険性があります。
2.findコマンドで「mysqldump」を探す
find / -name "mysqldump"
以上で「mysqldump」がある場所がリストされます。
3.最低限覚えるlinuxコマンド
下記「ls」と「cd」で、上記で検索したプログラムが存在しているのか?を確認して下さい。
コマンド |
意味・使い方 |
ls | 「ls」は「list segments」の略でオプションを指定しない場合は、カレントディレクトリ内にあるファイルの一覧を表示します。 |
cd | 「cd」は「change directory」の略で、ディレクトリを移動するコマンドです。
■「cd /」は、ルートディレクトリに移動します。 ルートディレクトリに移動後、「ls」コマンドをたたいて見て下さい。これが最上位ディレクトリになります。 青色がディレクトリで、水色がファイルです。
■「cd ○○○」は、現在のディレクトリに存在する○○○ディレクトリへ移動します。 移動後、「ls」コマンドをたたいて見て下さい。これが○○○の下位のディレクトリ群です。
■「cd ../」は、現在のディレクトリの一つ上のディレクトリへ移動します
|
find | 「find」コマンドはファイルが何処のディレクトリに存在するか?を調べるツールです。
文法:find [検索するパス] [検索条件] [アクション] 例)find / -name “mysqldump” 上記は ・検索するパス:「 /」ルートディレクトリーから ・検索条件 「-name “mysqldump”」ファイル名を検索します |