サーバに接続するのにSSHを使用しているのですが、いつも使っているPCとは別のPCから接続する必要に迫られたので、その時の手順を書きます。
状況としては下の図のような感じです。
サーバが1台に、サーバを操作するクライアントPCが2台。
いつも使っているPCはClient0で、これからサーバに接続できるようにするPCはClient1です。
なお、Client0と1が別のユーザ(サーバ側)の場合はClient0が管理者権限を持っている必要があります。
Client1のPCでSSHの鍵を作成
cd ~/.ssh
ssh-keygenとやるだけでもいいですが、今後別のサーバに接続することを考えて
ssh-keygen -C hogehoge -f filenameとやる方がいいと思います。
hogehogeには何かコメントを入れられるそうです。何のためかはよくわかりません。
filenameは鍵のファイル名です。
注)
最初に
cd ~/.sshとしたのは、通常SSHの鍵ファイルは~/.sshディレクトリに作るからです。
移動しない場合は、ssh-keygenを行う際に
-fオプションで
~/.ssh/filenameとして下さい。
注終)
ssh-keygenを行った後には.sshディレクトリに、以下の2つのファイルが出来ると思います。
- filename.pub
- filename
公開鍵を操作したいサーバに登録し、秘密鍵は他の人に見えないように大事に保管します。
公開鍵を管理者に渡す
渡し方はメールでもなんでもいいと思いますが、ファイルの内容の文字列をコピーしてメールに貼り付けるのはミスの元なので、公開鍵ファイルごと渡しましょう。
公開鍵をサーバに登録する
公開鍵を受け取ったら、まずは公開鍵をサーバに転送します。
scpとかを使うと安全だと思います。
scpはSecure copyと言われ、SSHを使用して通信経路を暗号化してファイルの転送を行います。
次にサーバにSSHでログインします。
サーバ上で、
cat filename.pub >> ~/.ssh/authorized_keysを実行します。
こうすると、authorized_keysファイルに新たに公開鍵が追加されます。
公開鍵を追加する=authorized_keysファイルに新たな行を追加する
ってことらしいです。
間違えて
cat filename.pub > ~/.ssh/authorized_keysとしてしまうと、追加ではなく上書きされてしまうので気をつけて下さい。
注)
環境によってはauthorized_keysファイルじゃない場合があります。
sshd_configで
AuthorizedKeysFile .ssh/authorized_keysとなっていればOKです。
注終)
接続の確認(Client1)
コマンドとしては
ssh -i 秘密鍵ファイル名 -p ポート番号 user@接続先です。
接続できればOKです。
補足
登録の際に
ssh-copy-idというコマンドを使うともっと簡単に公開鍵の登録を行えます。
但し、sshd-configで
PasswordAuthentication yes
となっている必要があります。
登録を行うときだけyesにするのもありだと思います。
詳しくはググって下さい。
ちなみにWindowsだと入ってなくて、上記のめんどくさい手順で行いました。
0 件のコメント:
コメントを投稿