#0前準備
teratermで最初にIDとパスワードを入力してサーバにログインしてください。
#1TERATERM上でSSH鍵生成します。
「設定」をクリック後、「SSH鍵生成」を選択します。
#2鍵の種類を設定します。
「鍵の種類」選択後、「生成」をクリックします。※ここでは、「RSA」を選択します。
#3鍵のパスフレーズを入力します。
「鍵を生成しました。」と表示後、「鍵のパスフレーズ」「パスフレーズの確認」を入力します。
※このパスフレーズは、ログイン時に利用します。このパスフレーズがないと楽ではありますがセキュリティ上よろしくないのでパスフレーズは必ず設定しましょう。その代わりWINSCPのページェントを利用する事で毎回パス入力をしないよう設定します。後述に記述しました。
#4「公開鍵の保存」「秘密鍵の保存」をそれぞれクリックしてください。
「公開鍵の保存」「秘密鍵の保存」をそれぞれクリック後、事前に作成した鍵を格納するフォルダに保存します。※以下の名前で保存されます
公開鍵 | 秘密鍵 |
---|---|
id_rsa.pub | id_rsa |
保存が完了後、TeraTermの画面は一度閉じます。
#5普通に再度ログインします。
#6「公開鍵」のファイルをドラック&ドロップします。
サーバにログイン完了後、事前に作成した「公開鍵」のファイルをドラック&ドロップします
#7SCPで転送
何もしないでエンターでOKです。
「ファイル転送を行いますか?」と表示後、「SCP」をクリックします。
※「SCP」クリックすると、ユーザのホームディレクトリに転送されます。
#8公開鍵認証の設定
ユーザのホームディレクトりに移動後、公開鍵認証の設定を行います。
$ mkdir .ssh
$ chmod 700 .ssh
$ cat id_rsa.pub > .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm -f id_rsa.pub
#9rootでSSH接続の設定変更
AuthLoginをオフってる人はさくらであればコンソールでもOKです。
「@」より前が「root」に切り替われば、「root」に変更されています。
#10 SSH接続の設定を変更します。
# nano /etc/ssh/sshd_config
#11 3か所を編集します。
ポート番号を変更しましょう。
#Port 22
→Port ****
ルートログインをNGに
#PermitRootLogin yes
→PermitRootLogin no
パスワード承認をNGに
PasswordAuthentication yes
→PasswordAuthentication no
#12 SSH接続の変更内容を読込みます。
systemctl restart sshd.service
#13 TERATERMのショートカットを開いてリンク赤字部分を設定する
例えば以下のような設定だったとするとリンク赤字部分は以下です。
IP 1.1.1.1
ポート 12345
ユーザー名 hoge
パスワード naga
キーファイル is_rsaの場所をディレクトリで指定する 最後はid_rsa
"C:\Program Files (x86)\teraterm\ttermpro.exe" 1.1.1.1:12345 /auth=publickey /user=hoge /passwd=naga /keyfile="C:\Users\hoge\hoge\hoge\id_rsa"
#14 ログインします。
#15 続いてWINSCPの設定を行います
以下を参考に設定してください。
ポイントはSSHの公開鍵を設定した時は、以下のようにSSHから認証を選択し秘密鍵にディレクトリを入れてください。rsa.ppkというファイルは自動で変換してくれます。※丁寧にメッセージが出ます!
#16 WINSCPで秘密鍵で正常にログインできる事を確認します。
WINSCPで正常にログインする事ができました。しかし現在の状況ですと権限が弱く自分のディレクトリ配下以外は閲覧やコピーができません。具体的に自分がhogeAだったとしましょう。その場合、権限がありませんのでhogeBにはアクセスできません。
home
--hogeA
--hogeB
--hogeC
そこで無理やりこじあけましょう。
#17 続いてTERATERMでサーバーにログインして以下コマンドを打ちます。最下部に以下コマンドを書きましょう。
※WinSCPで使用するユーザーを「hogehoge」とした場合、以下のようになります。接続先サーバーはCentOS7想定です。
visudo
hogehoge ALL=NOPASSWD: /usr/libexec/openssh/sftp-server
#18 WinSCPのSFTPサーバー設定を入力します。
赤字の部分をコピーペーストしてください。
sudo /usr/libexec/openssh/sftp-server
#19 ファイル権限が強くなっているか確認します。
home
hogeA
hogeB
hogeC
どれでも閲覧できますね。以上です。