公開鍵認証でSSH接続(TeraTerm利用)CentOS7で公開鍵認証を使ってSSH接続する方法です。ルートではログインできないようにして、ユーザーで公開鍵認証するようにします。ルートでログイン出来ないようにするルートのパスワードの設定VPSなどのサービスを利用しているとき、rootのパスワードが設定されていないことがあるので、まず、rootのパスワードを設定します。VPSの場合、ルートのパスワードが無しで鍵を使ってログインになっています。password:ユーザーの作成rootでの公開鍵認証はセキュリティ上良くないので、ユーザーを作成してユーザーでログインするようにします。ユーザーを作成し、パスワードを設定します。sampleTeraTermにユーザーでログインします。ここは鍵を使ってのログインではなく、平文(プレインパスワード)を使用してログインにします。xxxxのようにSSHのポート番号を変更しておく。VPSはCentOS7でfirewalldではなく、iptablesを利用している。sshd_configを変更すると接続できなくなるので注意。ACCEPTCOMMIT[MEMO]利用しているVPSでは初期状態でrootに公開鍵が設定されていました。rootのパスワードは無し。ユーザーを作成し、rootにパスワードを付与してから下記の作業に入りました。TeraTermで鍵生成ROOTで入れるようにするのは危険なので、ユーザーでログインしての作業になります。設定でSSH鍵生成を選択します。鍵の種類はRSAにして、右側の生成ボタンを押します。押すと、鍵が生成されます。鍵にパスワードを入れます。「秘密鍵の保存」を押して、ローカルPCに保存します。今回はデスクトップに保存することにします。サーバーに鍵のアップロードTeraTermからサーバーにSSHでファイルをアップします。ファイルの「SSH_SCP」を選択します。デスクトップにある「id_rsa.pub」を選択します。宛先は「~/」にします。入力したら「Send」ボタンを押します。公開鍵の設置TeraTermのSCPでアップロードされたファイルを移動してサーバーに設置します。.ssh/authorized_keysまず、ユーザーのディレクトリを確認。ディレクトリで作業します。.sshフォルダ(ディレクトリ)を作ります。パーミションを700に変更します。id_rsa.pubファイルをリネームして、移動します。ここまで終わったら一度TeraTermの接続を切ります。TCPポートを、変更したSSHポート「XXXX」にして接続します。今度はプレインテキストログインではなく、公開鍵のログインにします。RSA鍵を使うを選択し、デスクトップに保存した「id_rsa」ファイルを選びます。これで「OK」を押すとログイン出来ます。以下の項目を設定します。password禁止)設定が終わったらSSHを再起動します。sshdこれで平文(plain)で接続すると接続できなくなります。以下の項目を設定します。noターミナルからログアウトして、再度ログインしようとしたとき、変更したSSHのポートでログインできないときがあります。これはIptablesを再起動がされていないときですので、サーバーを再起動すればログインできるようになります。