Ubuntu環境でのSSHのインストールと使用
SSHは、安全な伝送プロトコルであるSecure Shellを指します。Ubuntuクライアントは、SSHを介してリモートサーバーにアクセスできます。 SSHの導入と動作メカニズムは、前の記事[SSHの導入と動作メカニズム](http://blog.csdn.net/netwalk/article/details/12951031)にあります。
SSHは、クライアントopenssh-clientとopenssh-serverに分けられます
別のマシンのSSHにログインするだけの場合は、openssh-clientをインストールするだけです(ubuntuにはデフォルトのインストールがあり、そうでない場合は、sudoapt-get install openssh-client)。このマシンでSSHサービスを開く場合は、openssh-serverをインストールする必要があります。
Ubuntuはデフォルトでsshクライアントをインストールしています。
sudo apt-get installsshまたはsudoapt-get installopenssh-client
ssh-keygen
( Enterキーを押してデフォルト値を設定します)
デフォルトでid_rsaファイルとid_rsa.pubファイルを生成します。これらは、それぞれ秘密鍵と公開鍵です。
注:sudo apt-get insall sshにエラーがある場合は、sudo apt-get installopenssh-clientを使用してインストールできます。
サーバーIPが192.168.1.1、sshサービスのポート番号が22、サーバー上のユーザーがrootであると想定します。
sshを使用してサーバーにログインするコマンドは次のとおりです。
ssh –p 22 [email protected]
rootユーザーのパスワードを入力します
UbuntuはデフォルトではSSHサーバーをインストールしません。次のコマンドを使用してインストールします。
sudo apt-get install openssh-server
次に、sshserverが開始されているかどうかを確認します(または「netstat-tlp」コマンドを使用します)
ps -e|grep ssh
ssh-agentしかない場合は、ssh-serverが起動されていません。/etc/init.d/sshstartが必要です。sshdが表示されている場合は、ssh-serverが起動されています。
そうでない場合は、次のように開始できます。
sudo/etc/init.d/ssh start
実際、特別な要件がない場合は、OpenSSHサーバーがここにインストールされます。ただし、さらに設定を行うと、OpenSSHのログイン時間が短くなり、安全性が高まります。これはすべて、opensshの構成ファイルsshd_configを変更することで実現されます。
ssh-server構成ファイルは/ etc / ssh / sshd_configにあり、SSHのサービスポートを定義できます。デフォルトのポートは22です。222などの他のポート番号を定義できます。次に、SSHサービスを再起動します。
sudo /etc/init.d/sshresart
構成ファイル/ etc / ssh / sshd_configを変更することにより、sshログインポートを変更し、rootログインを禁止できます。ポートを変更すると、ポートのスキャンが妨げられる可能性があります。
sudo cp/etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudochmod a-w /etc/ssh/sshd_config.original
構成ファイルを編集します。
gedit /etc/ssh/sshd_config
#Port 22を見つけ、コメントを削除して、5桁のポートに変更します。
Port 22333
#PermitRootLogin yesを見つけ、コメントを削除して次のように変更します。
PermitRootLogin no
構成後に再起動します。
sudo/etc/init.d/ssh restart
**4、SSHサービスコマンド**
# サービスを停止します:sudo /etc/init.d/ssh stop
サービスを開始します:sudo /etc/init.d/ssh start
サービスを再起動します:sudo / etc / init.d / sshresart
切断:終了
ログイン:ssh
[[email protected]
]([email protected]
)
ルートは192.168.0.100マシンのユーザーであり、パスワードを入力する必要があります。
**5、SSHログインコマンド**
# 一般的な形式:ssh [-llogin_name] [-p port] [user @] hostname
より詳細な情報は、ssh-hで表示できます。
例
ユーザー指定なし:
ssh 192.168.0.1
指定ユーザー:
ssh -l root 192.168.0.1
ssh [email protected]
sshログインポートを変更した場合は、次のことができます。
ssh -p 22333192.168.0.111
ssh -l root -p 22333216.230.230.105
ssh -p 22333 [email protected]
リモートでログインする場合、ユーザー名を入力した後、パスワードの入力を求められるまでに長時間待つ必要がある場合があります。実際、これはsshdがクライアントのdns情報をチェックする必要があるためです。この機能を無効にすると、ログイン速度を大幅に上げることができます。まず、sshd_configファイルを開きます。
sudo nano /etc/ssh/sshd_config
セクションGSSAPIオプションを見つけて、次の2行をコメントアウトします。
#GSSAPIAuthentication yes #GSSAPIDelegateCredentials no次に、sshサービスを再起動します。
sudo /etc/init.d/ssh restart
もう一度ログインしてみてください。非常に高速です。
SSHサービスでは、すべてのコンテンツが暗号化されて送信され、セキュリティは基本的に保証されています。ただし、証明書認証が利用できる場合はセキュリティが向上し、一定の設定を行うと、証明書認証による自動ログインの効果も実現できます。
まず、sshd_configファイルを変更して、証明書認証オプションを有効にします。
RSAAuthentication yes PubkeyAuthentication yesAuthorizedKeysFile%h / .ssh / authorized_keys変更が完了したら、sshサービスを再起動します。
次のステップでは、SSHユーザーの秘密鍵と公開鍵を確立する必要があります。まず、キーを設定する必要のあるアカウントにログインします。ここで、rootユーザーからログアウトしてください。必要に応じて、suコマンドを使用して別のユーザーに切り替えてください。次に、以下を実行します。
ssh-keygen
ここで、生成されたキーをデフォルトのディレクトリに保存できます。確立プロセス中に、パスフレーズの入力を求められます。これは、証明書にパスワードを追加するのと同じです。これは、セキュリティを向上させるための手段でもあり、証明書が誤ってコピーされた場合でも恐れることはありません。もちろん、これを空白のままにすると、PuTTyは後で証明書認証を介して自動的にログインできます。
ssh-keygenコマンドは2つのキーを生成します。最初に、公開キーの名前を変更してサーバーに残す必要があります。
cd ~/.ssh mv id_rsa.pub authorized_keys
次に、サーバーから秘密鍵id_rsaをコピーし、サーバー上のid_rsaファイルを削除します。
サーバーでの設定が完了したら、クライアントコンピューターで次の手順を実行する必要があります。まず、id_rsaファイルをPuTTyでサポートされている形式に変換する必要があります。ここでは、PuTTyGENこのツールを使用する必要があります。
PuTTyGenインターフェイスの[ロード]ボタンをクリックし、id_rsaファイルを選択し、パスフレーズ(存在する場合)を入力してから、[プライベートキーの保存]ボタンをクリックして、PuTTyが受け入れる秘密キーの準備をします。
PuTTyを開き、セッションにサーバーのIPアドレスを入力し、[接続]-> [SSH]-> [認証]の下の[参照]ボタンをクリックして、生成された秘密鍵を選択します。次に、[接続]オプションに戻り、自動ログインユーザー名に証明書のユーザー名を入力します。 [セッション]タブに戻り、名前を入力し、[保存]をクリックしてセッションを保存します。下部にある[開く]をクリックすると、証明書認証を介してサーバーにログインできるようになります。パスフレーズがある場合は、ログインプロセス中にパスフレーズを入力するように求められます。それ以外の場合は、サーバーに直接ログインするため、非常に便利です。
Recommended Posts