sshは外部のコンピュータにアクセスするコマンドだ。
同じ機能をするコマンドとしてtelnetがあるが、sshでは通信経路の通信内容がすべて暗号化されているので、よりセキュアな通信ができる。
今回はsshコマンドを使用したセキュアな自分以外へのコンピュータへのアクセス方法を解説する。
目次
sshコマンドの基本
コマンドの基本
使い方は、次のとおり接続先としてIPアドレスを指定する。
$ ssh 接続先IPアドレスまたはDNSアドレス
sshコマンドを使うには次の情報が必要だ。
接続先のIPアドレス、またはDNSアドレスを知っていること。
接続先のコンピュータに接続するユーザーが登録されていること。
さらにそのユーザーに接続許可がされていること。
sshコマンドを利用する前に確認しておこう。
IPアドレス192.168.179.10のコンピュータに接続する場合は、次のコマンドだ。
$ ssh 192.168.179.10
接続相手の鍵が取得され、その鍵で登録して接続を続行するか聞いてくるのでyesで続行する。
次にパスワードを聞いてくるので入力する。
そのコンピュータ、ホストa-stationを操作するコマンドを入力できるようにプロンプトが表示される。
オプションなしでは、SSH接続先に接続するログイン名は現在のLinuxコマンドを打ち込んでいるユーザー名だ。
2回目からの接続
はじめて接続するコンピュータでの接続時には、セキュリティのための鍵の生成のプロセスがあった。
2回目からの接続では、鍵の生成はない。
再度同じコマンドで接続してみる。
$ ssh 192.168.179.10
するとパスワードを聞いてくるので入力する。
パスワードを入力しただけで接続できた。
IPアドレスが間違っている場合
IPアドレスが間違っている場合は、コンピュータをネットワーク上で見つけることができず、次のようなNo route to hostという表示となる。
というメッセージが表示される。
この場合は接続先のコンピュータのIPアドレスが間違っていないか確認するとともに、接続元と接続先のコンピュータがネットワーク自体に正しく接続されているか確認してみよう。
ユーザーにアクセス許可がない、またはパスワードが間違っている場合
ユーザーにアクセス許可がない場合でも、パスワードは聞いてくる。
しかし、ユーザーとパスワードの組み合わせが認識できず、次のようなPermission deniedという表示となりパスワードの入力を再度求められる。
しかし、SSH通信の場合、非常にまれにではあるが、正常に入力してもこのような表示となる場合もある。
何度入力してもアクセスできない場合は、接続先のコンピュータの管理者に問い合わせよう。
sshコマンドのオプション
コマンドの一覧
後から詳細をご紹介するが、まずは一覧で見てみよう。
オプション -l
あらかじめログインユーザー名を指定する
では、詳しく見ていこう。
-lオプション:あらかじめログインユーザー名を指定する
あらかじめログインユーザー名を指定するオプションで、書式は次の通りだ。
$ ssh -l ユーザー名 接続先IPアドレスまたはDNSアドレス
ログインユーザー名がLimeを指定してIPアドレス192.168.179.10のコンピュータにログインする場合のコマンドは、次の通りだ。
$ ssh -l Lime 192.168.179.10
ホストa-stationにログインユーザー名がLimeでパスワードのみ入力すればログインできる。
関連コマンド
最後にsshコマンドに関連して、基本的な外部機器へアクセスするコマンドも紹介しておく
telnet
外部の機器と接続する。
exit
ログアウトする。
まとめ
今回は、sshコマンドを使った外部機器との接続の方法を解説した。
ネットワークを使ったリモート接続はTELNETからよりセキュリティの高いSSH接続が推奨されてきている。
サーバーによってはTELNET接続を許可していないケースも多く、これからはsshコマンドが主流になってくるだろう。
ただ、サーバーにSSHサーバーソフトが起動していない場合は、SSH接続はできないため、小規模なシステムではTELNET接続になっているケースもある。使い分けて活用していこう。
コメント