TeraTarmでSSH接続設定について

このQ&Aのポイント
  • 初心者がTeraTarmでSSH接続設定につまずいています
  • サーバの運用は初心者で、ローカル環境で作成した公開鍵をサーバに設定したい
  • sshd_configファイルやログを確認しても解決策が分からず困っています
回答を見る
  • ベストアンサー

TeraTarmでSSH接続設定について

さくらインターネットさんのVPSの環境を作りたいと 初期設定を行っておりますが恥ずかしながらはじめの一歩目で躓いております。 これまでレンタルサーバは利用しておりましたが、サーバの運用は初心者です。 用語など理解出来ていない部分も多いです。 こんな状況でご質問するのも申し訳ないのですが アドバイスを頂けると大変助かります。 何卒よろしくお願い致しますm(__)m ---------------------------------------- ◎やろうとしている事 ローカル環境で作成した公開鍵をサーバに設定しTeraTarmで接続出来るようにしたい。 公開鍵の登録はTeraTarmで接続してviでauthorized_keysに貼り付ける方法。 ---------------------------------------- ◎環境 サーバ OS CentOS 6 x86_64 ローカル環境 OS Windows7 ---------------------------------------- ◎sshd_configで初期値から変更した箇所 Port 10000 PermitRootLogin no MaxAuthTries 3 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitEmptyPasswords no PasswordAuthentication no AllowUsers ユーザ名 ChallengeResponseAuthentication no UsePAM no ---------------------------------------- ◎.sshディレクトリ、authorized_keysのパーミッションと所有者 ls -l .ssh -rwx------ 1 ユーザ名 root 397 Jun 14 11:13 authorized_keys ls -l authorized_keys -rw------- 1 ユーザ名 root 397 Jun 14 11:13 authorized_keys ---------------------------------------- ◎sshデバッグモードログ ssh -v localhost OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to localhost [::1] port 22. debug1: connect to address ::1 port 22: Connection refused debug1: Connecting to localhost [127.0.0.1] port 22. debug1: connect to address 127.0.0.1 port 22: Connection refused ssh: connect to host localhost port 22: Connection refused ---------------------------------------- ◎ログ less /var/log/secure Jun 14 11:34:16 www2310uf sshd[1104]: Received signal 15; terminating. Jun 14 11:34:16 www2310uf sshd[1344]: Server listening on 0.0.0.0 port 10000. Jun 14 11:34:16 www2310uf sshd[1344]: Server listening on :: port 10000. Jun 14 11:45:56 www2310uf sshd[1344]: Received signal 15; terminating. Jun 14 11:45:56 www2310uf sshd[1378]: Server listening on 0.0.0.0 port 10000. Jun 14 11:45:56 www2310uf sshd[1378]: Server listening on :: port 10000. Jun 14 12:36:17 www2310uf sshd[1443]: Connection closed by ***.***.**.*** ---------------------------------------- ※備考 12:30頃に.sshディレクトリとauthorized_keysのパーミッションに 誤りがあったため変更しました。 末行のIPアドレスは私のものです。 それ以外の部分はポート10000番が塞がっているという意味なのでしょうか 調べてみても意味がよく理解出来ず困っております・・・ どなたかアドバイスを頂けないでしょうか。 よろしくお願い致しますm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>前回もアドバイス頂き有難うございました。 ああ… http://okwave.jp/qa/q7504699.html の続きだったんですね。 ># ls -al ~/.ssh >total 16 >drwx------ 2 shun root 4096 Jun 14 15:57 . >dr-xr-x---. 3 root root 4096 Jun 14 12:04 .. >-rw------- 1 shun root 397 Jun 14 11:13 authorized_keys >-rw-r--r-- 1 root root 391 Jun 14 15:57 known_hosts .sshディレクトリのパーミッションはとりあえず問題なさそうですね。 # 前回の質問と回答のやりとりで指定されてましたな。 ただ…所有者と所有グループがヘンな気もしますが。 # .sshから見て..ディレクトリ(1つ上のディレクトリ…ということでホームディレクトリ)の所有者、およびグループがrootというのはおかしいかと。 このサーバからのsshクライアントでのknown_hostsへのアクセスは蹴られることになりますな。 # sshで接続されるだけ…ならknown_hostsは関係ない。 # TeraTerm側に作成されるはずです。 rootユーザーで chown -R shun:shun /home/shun とでもやってユーザーとグループは修正しておいた方がいいでしょう。 cd ~ で移動した先が/home/shun の場合ですが。 ssh -v localhost を実行したのってユーザーアカウントshunですよね? rootで ls -al ~/.ssh したのであれば、ソレは間違いですのでその辺りは確認を。 公開鍵などのファイルは「(接続するユーザーの)ホームディレクトリの.sshディレクトリ」になりますから。

koyatan
質問者

お礼

有難うございました!!!!!! おかげ様でやっと接続出来ました~(T_T) 繋がった瞬間は夢かと思ってしまいました もう感謝感激です。 原因はよく理解出来ておりませんが、どうやら.sshディレクトリを 変な位置に作っていたようで、確認したところ[ ~ ]という位置に 作っておりました・・・・ home/shun/.ssh この位置に作り直して 頂いたアドバイスの通りの作業を行ったところ接続出来ました(#^.^#) 本当に有難うございました!! 実は5月の半ばに契約を行っていたのですが それ以来ずっと進行せず、もう挫折しそうでした(笑) 最初にこれだけハマったので 今後また挫折しそうになっても諦めずに頑張れそうです。 まだまだ先は長いのでまたご質問させて頂く事もあるかと思いますが 何卒よろしくお願い致します。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

もう少し、「やろうとしていること」「これまでにやったこと」を整理した方がいいかと。 ちょっと状況が判りません。 とりあえず、掲示されている情報でのツッコミどころを…… >◎.sshディレクトリ、authorized_keysのパーミッションと所有者 ls -al ~/.ssh として実行して下さい。 .sshディレクトリのパーミッションとかはコレでは判りません。 >Port 10000 待ち受けポートを10000に変更しています。 が… >ssh -v localhost で標準ポートへ接続しに行っていますので… >ssh: connect to host localhost port 22: Connection refused 「ローカルホストの22番ポートへの接続に失敗しました。」となります。 -p 10000 オプションを指定して、ポート番号を指定して下さい。 公開鍵認証であれば、.sshディレクトリに公開鍵と秘密鍵(接続するクライアント側に必要。今回はlocalhostへの接続ですので自分のところにも必要です)が必要です。 現状では~/.sshに秘密鍵はありませんから…… ssh -v -p 10000 localhost での接続は蹴られるかと思われます。 # -iオプションで秘密鍵ファイルを指定できます。未指定の場合は規定のファイル名で検索かけていたハズ。 >◎ログ 11:34:16に停止(1行目)して、同じ時刻に開始しています。 IPv4で接続元無制限で10000ポートの待ち受け(2行目)と IPv6で接続元無制限で10000ポートの待ち受け(3行目)で起動しました。と言うことになります。 11:45:56も同様。 12:36:17のは切断しました。いうだけ。 非標準ポートへの変更はよろしいと思われますが、iptablesのフィルタ設定やクライアント側での接続ポート番号指定も必要ですのでご注意を。

koyatan
質問者

お礼

Wr5さん アドバイス誠に有難うございます! またご説明が解かり辛く申し訳ございません。 前回もアドバイス頂き有難うございました。 またWr5さんからご回答を頂けていたので 思わず本当に涙が出てきてしまいました(T_T) まるで暗いトンネルの中で光明が差した感じです 本当本当に有難うございますm(_ _)m > ls -al ~/.ssh > として実行して下さい。 実行しました! 多分問題無いかと思いますが・・・(^_^; # ls -al ~/.ssh total 16 drwx------ 2 shun root 4096 Jun 14 15:57 . dr-xr-x---. 3 root root 4096 Jun 14 12:04 .. -rw------- 1 shun root 397 Jun 14 11:13 authorized_keys -rw-r--r-- 1 root root 391 Jun 14 15:57 known_hosts >>ssh -v localhost >で標準ポートへ接続しに行っていますので… >>ssh: connect to host localhost port 22: Connection refused >「ローカルホストの22番ポートへの接続に失敗しました。」となります。 >-p 10000 オプションを指定して、ポート番号を指定して下さい。 なるほど!ご説明有難うございます。 確かにおかしいですね、クライアント側のTeraTarmのポートは 合わせているのですが、この辺りが原因かもしれませんね > iptablesのフィルタ設定やクライアント側での > 接続ポート番号指定も必要ですのでご注意を かしこまりました! iptablesのフィルタ設定を調べてみます。 また結果をご報告させて頂きますのでよろしくお願い致します。

関連するQ&A

  • SSHに繋がらない

    SSHから接続できず、ユーザー認証でエラーになってしまいます。 何かわかる方がいらっしゃいましたら、どうか少し教えて頂けないでしょうか。 OSはCentOS 6.2 です。 -------------------------------------------------------------------- ■サーバー -------------------------------------------------------------------- ★設定 # vi /etc/ssh/sshd_conf > Port 22 > Protocol 2 > AllowTcpForwarding yes > GatewayPorts no > MaxAuthTries 6 > MaxSessions 10 > > ServerKeyBits 1024 > StrictModes yes > > SyslogFacility AUTHPRIV > LogLevel DEBUG3 > > PubkeyAuthentication yes > PasswordAuthentication no > PermitEmptyPasswords no > AuthorizedKeysFile .ssh/authorized_keys > > PermitRootLogin without-password > UsePrivilegeSeparation yes > > Subsystem sftp /usr/libexec/openssh/sftp-server > X11Forwarding no ★鍵を作成 # su user1 $ ssh-keygen -t rsa -b 1024 $ Generating public/private rsa key pair. $ Enter file in which to save the key (/user1/.ssh/id_rsa): $ Enter passphrase (empty for no passphrase): $ Enter same passphrase again: $ Your identification has been saved in /user1/.ssh/id_rsa. $ Your public key has been saved in /user1/.ssh/id_rsa.pub. $ The key fingerprint is: $ 50:4f:72:d4:0a:d6:d2:24:98:96:7b:xx:xx:xx:xx:xx user1@myhost.com $ The key's randomart image is: ★鍵の名前を変更 $ cd /home/user1/.ssh/ $ cp id_rsa.pub authorised_keys $ rm id_rsa.pub ★パーミッション確認 $ drwxr-xr-x. root root /etc/ssh $ -rw------- root root /etc/ssh/sshd_conf $ drwxr-xr-x. user1 user1 /home/user1 $ drwxr-xr-x user1 user1 /home/user1/.ssh $ -rw-r--r-- user1 user1 /home/user1/.ssh/authorised_keys ★再起動 # service sshd restart # Stopping sshd: OK ] # Starting sshd: OK ] -------------------------------------------------------------------- ■クライアント -------------------------------------------------------------------- Windows7 teraterm ポート:22 SSHバージョン:SSH2 ユーザー名・パスフレーズを入力し、「RSA/DSA鍵を使う」に上記で作った「id_rsa」プライベート鍵をセット。 エラーメッセージ:「SSH2自動ログインエラー:ユーザー認証が失敗しました」 -------------------------------------------------------------------- ■ ログ(/var/log/secure)抜粋 -------------------------------------------------------------------- Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: Failed publickey for user1 from yyy.yyy.yyy.yyy port 58193 ssh2 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_answer_keyallowed: key 0x7fc196d47cf0 is not allowed Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_send entering: type 22 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_receive entering Aug 6 17:57:26 localhost sshd[21820]: debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa Aug 6 17:57:26 localhost sshd[21820]: debug3: Wrote 68 bytes for a total of 2633 Aug 6 17:57:26 localhost sshd[21820]: Connection closed by yyy.yyy.yyy.yyy ※yyy.yyy.yyy.yyyは、teratermでアクセスしたIPです。 -------------------------------------------------------------------- ■備考 -------------------------------------------------------------------- 「nmap localhost」は「22/tcp open ssh」ですが、 グローバルIPで「nmap xxx.xxx.xxx.xxx」すると、22番がリストに出ませんでした。 ルーター、iptables、ともにポートは開けています。 (念のため、「iptables」と「system-config-firewall」は停止しています。) ログを見ると、sshdまで到達しているように見えるのですが・・・。

  • ubuntuでssh

    sshサーバーを建てたいのですが、 sudo apt-get install openssh-serverからインストールし、 /etc/ssh/sshd_configのPermitRootLoginをnoにした後、 sudo /etc/init.d/ssh restartを実行しました。 http://whatismyipaddress.com/でIPを確認して ssh ユーザ@IPを実行すると、 ssh: connect to host [IP] port 22: Connection refused と表示されます。 原因は何でしょうか。

  • クライアントPCの端末からからssh 接続

    クライアントPCの端末からからssh 接続をするためには? ○質問の主旨 WindowsのTeraTermをターミナルソフトとして、 Linuxのサーバー上にある SSHサーバーに接続したいと考えています。 そのときの接続コマンドは、以下の通りです。 $ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server user→一般ユーザーの名前 22→ポート番号 home/user/.ssh/authorized_keys→公開鍵のパス名 server→SSHサーバーのホスト名 参考サイト http://dogmap.jp/2011/10/27/ssh_config/ しかし、上記のコマンドで接続しようとすると 下記のように叱られて、接続することができません。 Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. ssh_exchange_identification: Connection closed by remote host どのように接続するためにはどのように対処すれば よろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 現在、SSHサーバーへのアクセス制御は以下のように設定しています。 #vi /etc/hosts.deny sshd:all #vi /etc/hosts/hosts.allow sshd:(サーバーのIPアドレスのみ記述) #vi /etc/ssh/sshd_config MaxStartups 10 (#MaxStartupsとコメントにされていたので#を削除) 参考サイト http://wsjp.blogspot.jp/2012/08/sshexchangeidentification-connection.html また一般ユーザーのホームディレクトリの下に .sshと言う名前のフォルダを使って、 authorized_keysという名前のファイルに 公開鍵で使用する文字列を書き込んでいます。 ○環境 クライアントPC:windows8.1 ターミナルソフト:TeraTerm Pro サーバー:Linux(CentOS6.0)

  • TeraTarmでSSH接続設定について

    さくらインターネットさんのVPS初期設定で躓いております。 誠に恐縮ではございますがアドバイスを頂けないでしょうか。 よろしくお願い致します。 ◎やろうとしている事 ローカル環境で作成した公開鍵をサーバに設定し TeraTarmで接続出来るようにしたい。 公開鍵の登録はTeraTarmで接続してviでauthorized_keysに 貼り付ける、という方法です。 ◎参考にしているサイト http://www.jitaku-server.net/ssh_teratermpro_security.html ◎OS CentOS 6 x86_64 ◎開通後(OS再インストール後)行っている手順 1、rootのパスワード変更 2、新規ユーザーの追加・新規ユーザのパスワード登録 3、TeraTarmで公開鍵・秘密鍵の作成 4、TeraTarmでサーバに接続(ユーザIDとパスワードで接続) 5、ディレクトリ作成 .ssh 6、viで.sshディレクトリ内にauthorized_keysを作成 7、authorized_keysに公開鍵の中身を貼り付けて上書き保存。viで開いて確認OK 8、viで/etc/ssh/sshd_configを開き下記の4行を編集  Port 1234  PasswordAuthentication no  PermitRootLogin no  PermitEmptyPassword no  ※参考サイトでは下記1行も編集と記載がございましたが同じ行は見つかりませんでした。  AllowUsers ×× 9、SSHの再起動・サーバそのものの再起動 10、TeraTarmで新しい接続を設定  ・Portを上記で指定した値へ変更  ・2で作成したユーザ名とパスフレーズを設定  ・「RSA/DSA鍵を使う」で3で作成した秘密鍵を設定 11、接続を試みると「認証に失敗しました、再試行して下さい」とエラー 備考 sshd_configにauthorized_keysのパスを設定するような行がありましたが この辺だったりするのでしょうか・・・予想で設定してみましたが結果は変わらずでした。 どなたかアドバイスを頂けないでしょうか。 よろしくお願い致します。

  • rsyncやSSH接続ができません。

    ■rsyncがRSHでなく必ずSSH接続になってしまいます。 環境変数RSYNC_RSHもないのですが何故でしょうか? なおPort番号は22ではなく220をSSHにしています。 rsync -avz /home/test backup-server:/home/backup ssh: connect to host backup-server port 22: Connection refused rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) ■仕方なくSSHで接続しようと試みましたが今度はパーミッションエラーでした。 SSHのバージョンはサーバーは2で、クライアントはCentOS4.1ですがSSHの バージョンがわからない状態です。 SSHのバージョンはどう調べれば良いでしょうか? sync -avz -e "ssh -p 220 -oHostKeyAlias=test-server" /home/backup backup-server:/home/backup Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) なお、authorized_keysは、id_rsa.pubからコピーしてあり、644。 known_hostsには、test-serverは入っていて、644です。

  • sshで接続できない

    こんにちは。 サーバーへsshで接続できないので質問させていただきます。 クライアントから、 $ ssh -p **** user@***.***.***.*** と実行すると、 ssh: connect to host ***.***.***.*** port ****: Connection refused と返されました。 サーバー側で # /etc/init.d/ssh start を叩いても、 # ps -A | grep ssh には何も表示されません。 インストールしていないのかと思い、 # apt-get install openssh-server を叩くと、インストール済みだと返されました。 OSはUbuntu Server 14.04 LTSで、sshのポートが解放できているのは確認しています。 サーバー運営はほぼ初めてなので、色々と筋違いなこと等言っているかもしれませんが、 よろしくお願いします。

  • sftpのパスワードなしでログイン

    sftpのパスワードなしで自動化をしたいと考えています。 シェル内で他の処理をして、その後sftpで他のサーバーへコピー(put)します。 シェル内にsftpの起動する内容を記載するのですが、どうしてもパスワードを聞かれてしまいます。 調べてみるとSSH公開鍵認証を使用してパスワードなしのログインが出来るとありました。 試してみたのですが、どうしてもうまくログインできません。 原因と対応策を教えて頂けませんでしょうか。 OS:AIX5.3 おこなった作業は以下です。 サーバー側(ファイルを受ける側) 1、ユーザーのホームディレクトリ上でssh-keygen -t rsa を実行 2、.sshにid_rsa、id_rsa.pubができるので、id_rsa.pubをauthorized_keysへ変更する。 3、authorized_keysをクライアントに送る。 4、id_rsa、authorized_keysのアクセス権を600にする。 5、sshd.confgを編集 <編集箇所> RSAAuthentication yes   →コメントアウト PubkeyAuthentication yes  →コメントアウト AuthorizedKeyFile .ssh/authorized_keys  →コメントアウト PasswordAuthentication no →コメントアウト、yesをnoに変更 PermitEmptyPasswords yes →コメントアウト、noをyesに変更 ChallengeResponseAuthentication no →コメントアウト、yesをnoに変更 6、保存してsshdを再起動 クライアント側(ファイルを送る側) 1、ホームディレクトリの.sshにauthorized_keysを配置する。 2、authorized_keysのアクセス権を600にする。 3、sshdを再起動 以上の作業の後にクライアントからsftpでログインしようとすると、 以下のメッセージが出てしまいます。 sshも同様です。 (ログインしてホームディレクトリにいるとします) $ sftp -i ./ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey). Connection closed $ ssh -i .ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey).

  • RedHat6 SSH

    おそれいります。 RedHatEnterpriseにて、sshを開通させようとしているのですがうまくいきません。 ssh-keygen -t rsa ⇒ ssh-copy-idにてauthorized_keysを作成しました。 デーモンで立ち上げると接続できず、/usr/sbin/sshdで立ち上げると、クライアントからログインできるので、鍵のペアはとおっている模様です。 sshd_configの設定の問題なのか、様々試しましたがダメでした。 StrictModes yes PubkeyAuthentication yes RSAAuthentication yes PermitRootLogin no ChallengeResponseAuthentication no PermitEmptyPasswords no PasswordAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes IgnoreRhosts yes IgnoreUserKnownHosts no PrintMotd yes StrictModes yes 以上のように設定しています。 よろしくお願いします。

  • WindowsからMacOSXにSSHログインできない

    puttyを使ってLAN上のMacOSXへsshログインしようとすると 「ネットワークエラー接続が拒否されました。」 となります。そこでLinuxからためしてみましたら ssh 192.168.0.3 ←マックのアドレス ssh: connect to host 192.168.0.3 port 22: Connection refused このようにやはり接続できません。どうしたら接続できますでしょうか? ちなみに、マック側からはLinuxマシンにssh接続できるのですが‥ port 22: Connection refused と出るのでポートを開ければ良いのかとは思うのですが、開け方がわかりません。よろしくお願いします。

  • ssh用ポート番号の変更

    失礼します。 現在ローカルなネットワーク内でssh22番ポートを使用してサーバーを遠隔操作しているのですが、 このサーバーをグローバルなネットワーク内に置く前にsshのポートを別のポートに変更しようと考えていまして、 そこでちょっとつまっています・・・。 サーバー機はCentOSになります。 まず、sshの設定でsshd_ifconfigに「Port (新しいポート番号)」と書き加え、 /etc/servicesで #ssh 22/tcp SSH Remote Login Protocol #ssh 22/udp SSH Remote Login Protocol ssh (新ポート)/tcp SSH Remote Login Protocol ssh (新ポート)/udp SSH Remote Login Protocol としました。 また、サーバー側のファイアウォール設定で、 システム→管理→ファイアウォールでその他のポートに新しいポートを追加しました。 しかし、クライアント側で >ssh -X -p (ポート) ip としても ssh: connect to host ***.***.***.*** port ***: Connection refused となってしまいます。 どなたかご教授ください。