FTPの代わりにSSHの使用を開始したいのですが、SSHキーに関してはわかりません。
(現在FTPで行っているように)ファイルを転送するためにGulpコマンドを使用したいと思います。これを行うNPMパッケージをかなり見つけました。ただし、リモート共有(LAMP)サーバーとローカルマシン(MacOS)でSSHキーを実際にセットアップする方法については説明していません。
誰もこれを設定する方法を知っていますか?私が見つけたすべてのチュートリアルは、SSHキー自体ではなく、node.jsパッケージのセットアップを扱っています。
追加情報で更新
ssh -i ~/.ssh/id_rsa [email protected] -vvv
の出力は次のとおりです。OpenSSH_7.9p1, LibreSSL 2.7.3 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 48: Applying options for * debug1: Connecting to mysite.com port 22. ssh: connect to Host mysite.com port 22: Operation timed out
netstat -ntlp | grep ssh
コマンドを実行しようとしました(他にこれを実行する方法はわかりません)が、netstat
コマンドを認識しませんでした。ここで、ローカルマシンからリモートサーバーへのSSHを試みる場合、最初のステップで既に作成した秘密キーファイルで認証しようとしていることをコマンドで指定し、認証が成功します。対応する公開キーをリモートサーバーのauthorized_keysファイルにインポートしました。
まず、キーペアssh-keygen -t rsa
を作成し、Enterキーを押すだけですべてのデフォルトオプションを選択します。
Your identification has been saved in /home/ec2-user/.ssh/id_rsa
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub
ssh -i /location/of/private/key username@remote_server_ip
ssh -i ~/.ssh/id_rsa [email protected]
は-vvvフラグを付けて実行します。これにより、SSHがデバッグモードで実行され、内部で発生していることに関する詳細情報が明らかになります。サンプルコマンドはssh -i ~/.ssh/id_rsa [email protected] -vvv
です。出力を教えてください。Sudo netstat -ntlp | grep ssh
を実行します。 SSHサーバーがSSH接続をリッスンしているポートが表示されます。-p
フラグを追加する必要があります。その中のサンプルコマンドはssh -p port_number_on_which_SSH_server_is_listening -i ~/.ssh/id_rsa [email protected] -vvv
になります$ ssh -i /c/Users/XXX/ssh-keys/sl.pem [email protected] -vv OpenSSH_7.5p1, OpenSSL 1.0.2k 26 Jan 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug2: resolving "13.233.220.64" port 22 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to 13.233.220.64 [13.233.220.64] port 22. debug1: connect to address 13.233.220.64 port 22: Connection timed out ssh: connect to Host 13.233.220.64 port 22: Connection timed out