• 締切済み

ssh-keygen.exe -A とは?

windows10同士でSSH通信をしたいのでOpenSSHをダウンロードしました。 参考にしたサイト(https://dev.classmethod.jp/cloud/aws/aws-windows-sshd/)では、SSHキーを設定するときに ssh-keygen.exe -A を実行せよと書いてあったのですが、 (1)この-Aはどういうオプションなのでしょうか。 (2)こういったオプションの意味を(今回の場合に限らず一般に)コマンドプロンプト上で表示させるにはどうすれば良いのでしょうか。 help ssh-keygen.exeとすると/?を使えと言われ、 ssh-keygen.exe /? とするとtoo many argumentsと出て内容を調べることができませんでした。 よろしくお願いします。

noname#250538
noname#250538

みんなの回答

  • 121CCagent
  • ベストアンサー率51% (14230/27729)
回答No.1

https://github.com/PowerShell/Win32-OpenSSH/releases からOpenSSH-Win64.zipをダウンロードしてWin10の 「Windows PowerShell(管理者)」で実際に確認してみました。 PS C:\Users\admin\Desktop\OpenSSH-Win64> ssh-keygen.exe /? Too many arguments. usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-keygen -i [-m key_format] [-f input_keyfile] ssh-keygen -e [-m key_format] [-f input_keyfile] ssh-keygen -y [-f input_keyfile] ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile] ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile] ssh-keygen -B [-f input_keyfile] ssh-keygen -F hostname [-f known_hosts_file] [-l] ssh-keygen -H [-f known_hosts_file] ssh-keygen -R hostname [-f known_hosts_file] ssh-keygen -r hostname [-f input_keyfile] [-g] ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point] ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines] [-j start_line] [-K checkpt] [-W generator] ssh-keygen -s ca_key -I certificate_identity [-h] [-U] [-D pkcs11_provider] [-n principals] [-O option] [-V validity_interval] [-z serial_number] file ... ssh-keygen -L [-f input_keyfile] ssh-keygen -A ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] file ... ssh-keygen -Q -f krl_file file ... って程度の事しか表示されませんね。 1についてはわからないですね。 http://www.koganemaru.co.jp/cgi-bin/mroff.cgi?sect=1&cmd=&lc=1&subdir=man&dir=jpman-11.2.2%2Fman&subdir=man&man=ssh-keygen には「-A」のオプションに説明みたいなのは書いてますが。 2は「/?」や「/help」とか表示されることが多いですが。

関連するQ&A

  • SSHの公開鍵の使い方

    以前から、WinXPマシンに OpenSSH for Windows をインストし、それを通してリモートデスクトップをしていました。SSHクライアントは、PuTTYです。 SSHには公開鍵を使ってログインを制御すると良いといろいろなサイトで見かけるので、公開鍵を PuTTYgen で作成後に、OpenSSH 付属の ssh-keygen.exe で変換して鍵を作りました。そのあと、cmd で copy /b 鍵.pub > authorized_keys を実行しました。 #このとき、authorized_keysのコピーがうまくいって #なかったようなので、ノートパッドで、中身をコピー #しました。 しかし、鍵付きでアクセスしようとすると鍵を拒否され、しかも、鍵なしのWindowsログオンパスでログインできてしまいます。 どのようにしたら、鍵付きでログインできて且つ、ログイン制限をできますか? それと、おまけに聞きたいことがあるのですが、sshd_config のPermitRootLogin は no にした方がいいのでしょうか? #Linux風に行けば、したほうが断然いいのですが、 #Winだと、rootなんてないし・・・

  • HP-UXにopensshでパスワード無しログイン

    ローカル(A)からリモート(B) にsshでパスワード無しの自動ログインをしようとしています. A:RedHat Linux 9, B:HP-UX(B.11.11) ○現状 ・Aにはrpmでopenssh-clients-3.5p1-11がインストールされています. ・Aにおいて,ssh-keygen -t dsa でパスフレーズ無しの鍵ペアを~/.ssh以下に作成 ・Aで作成した~/.ssh/id_dsa.pubをBの ~/.ssh/ 以下に authorized_keys としてコピー 関連ファイル,ディレクトリのパーミションはA,B共に以下のとおり. ~/.ssh/(700) ~/.ssh/id_dsa(600) ~/.ssh/id_dsa.pub(644) ~/.ssh/authorized_keys(644) Bには以下の手順でopenssl, openssh をインストール後,/usr/local/sbin/sshd でsshdを起動してあります.設定ファイルは変更していません. ・openssl-0.9.6c ./config && make && make test && make install ・openssh-3.7.1p2 ./configure && make && make install ○問題 AからBにsshで接続するとパスワードを聞かれてしまう. Bにopensshをインストールした際,何か,configure オプションや必要なライブラリが不足したりしているのでしょうか?

  • vagrant ssh でトンネリング

    初めて質問させてもらいます。 開発環境をクラウド化する前提で試しにAWSのEC2をvagrantから起動するように設定中です。 ウチの会社は社外に対して直接SSH接続することを許可しておらず、踏み台サーバ(192.168.100.100)を経由してSSHをする必要があります。 現在固定のEC2インスタンスに対してのSSH接続は.ssh/configには以下のように記述し、[ssh ec2.dev.test]としたときに自動でトンネリングするようにしています。 ``` HOST gateway hostname 192.168.100.100 User test HOST ec2.dev.test hostname ec2-***-***-***-***.ap-northeast-1.compute.amazonaws.com User ec2-user ProxyCommand ssh gateway -W %h:%p IdentityFile '~~~~~~~~~~~' ``` vagrant ssh をしたときに自動でssh/configと同じ動きをしてくれるようにするか、オプションでトンネリングできるようにしたいです。 EC2インスタンスは[vagrant up]したときに生成されるため、IP固定ではないため動的にしたいです。 ググってみても「vagrant内にあるMySQLにアクセスする」系統ばかりが出て有力な情報にたどりつけませんでした。 アドバイスをいただけると助かります。 よろしくお願いいたします。 PS.Vagrantfileには以下のように記述してあります。 ``` VAGRANTFILE_API_VERSION = '2' Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = 'dummy' config.vm.provider :aws do |aws, override| aws.access_key_id = '~~~~~~~' aws.secret_access_key = '~~~~~~~' aws.keypair_name = '~~~~~~~' aws.ami = '~~~~~~~' aws.instance_type = 't2.micro' aws.security_groups = [ 'default' ] aws.region = 'ap-northeast-1' override.ssh.username = 'ec2-user' override.ssh.private_key_path = '~~~~~~~' end end ```

  • 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まで到達しているように見えるのですが・・・。

  • 鍵交換方式のsshでアクセスするための設定について

    鍵交換方式のsshでアクセスするために、puttygen.exeというプログラムを使用して、秘密鍵と公開鍵を作成しました。 公開鍵はOpenSSHでは使用できないので、Linuxでssh-keygenコマンドを使用して使用可能な形式に変換しました。 それを$HOME/.ssh/authorized_keysというファイルに追加するため、 cat putty.pub >> $HOME/.ssh/authorized_keys を実行したところ、 -bash: cd: /home/.ssh: そのようなファイルやディレクトリはありません とでてしまいました。 root からとユーザログイン状態で、cd /home とし、ls -a としましたが、.ssh というディレクトリはないようです。 /home/.ssh/authorized_keys というファイルがあるはずなんですよね。。 どなたか教えて下さい。

  • sshでログインができません?

    linux7.2 REDHATでopensshを構築しました。windowsクライアントからLAN内でsshで接続しようとしていますがうまくいきません。 普通成功したときはパスワードを聞いてきますが、聞かれない状態です。 LINUX側でユーザーかグループを作成しなければならないのでしょうか? 以下の設定ファイルを調整してみました。 ・sshd_conf ・hosts.allow ・hosts.deny ・pingは通ります。 ・サーバー側ではsshでログインできます。 ・テストでtelnetを設定してみましたがクライアントからログインできませんでした。 サーバー側からはできました。 ・ブラウザー経由でwebサーバはアクセスできます。 ・DOSプロンプトから telnet ホスト名 22 で確認したところ接続できない状態になる。 ポートのところではじかれているように思えます。 どなたかこころやさしい方ご教授いただけないでしょうか? よろしくお願いいたします。

  • ssh の仕組み

    ssh の仕組みについて、よくわからない事があるので、よろしくお願いします。 (サーバの設定) ・/etc/ssh/sshd_config ファイルの編集をして、ルート権限ログインできないようにする。 ・デーモンを起動する。 (クライアントの設定) 1#ssh-keygen -t rsa 2#mv id_rsa.pub authorized_keys2 3#ssh hoge@192.168.x.x 4#rsa を入力 5#known_hostに関してのプロンプトに、yesで答える 6#パスワードを入力 上記の手順を踏んだとき、 まず、 (質問1:) 4のrsaを入力というのは、 相手側に自分の公開鍵を渡すと言う事でいいのでしょうか?? (質問2) これで、ログインした場合、サーバはその公開鍵を使って、暗号化→クライアントはそれを自分の秘密鍵(id_rsa)により、復号化。という解釈でいいのでしょうか? (質問3) 質問2の場合、クライアントから、サーバに送信するメッセージは暗号化されていないのでしょうか? (質問4) /etc/ssh/sshd_configの設定で、RSAAuthorized no にしてしまったら、 暗号化されないで、平分で、データが流れてしまうのでしょうか? (質問5) 結局のところ、SSHというものは、ユーザのパスワードを知っていたら、簡単に侵入ができるようなものなのでしょうか? (質問6) 上記の手順自体が全く間違っているのでしょうか? (質問7) ~/.ssh/known_hosts の中に入っているデータはいったいなんなんでしょうか??(相手の公開鍵??) /* 長くなりましたが、答えれる部分でいいので、よろしければお答えいただけないでしょうか。どうか、よろしくお願いします。

  • sshでlogin後、操作中、固まるときがある?

    間欠で、いつ固まるか特定できないのですが、クライアントからsshでサーバーに接続し、端末で操作しているときに固まる場合があります。 固まったときに新たにsshにて接続してtopなどでプロセス状況をみても、sshdが上位に来ていません。 なにか原因が特定できるような方法がありましたら教えてください。 環境: [クライアント側] os: Linux clienthost 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 2009 i686 GNU/Linux shell: tcsh 6.14.00 (Astron) 2005-03-25 (i486-intel-linux) options wide,nls,dl,al,kan,rh,nd,color,filec terminal: GNOME 端末 2.28.1 ssh: OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007 [サーバ側] os: Linux remotehost 2.6.31-15-server #50-Ubuntu SMP Tue Nov 10 15:50:36  UTC 2009 x86_64 GNU/Linux shell: tcsh 6.14.00 (Astron) 2005-03-25 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec ssh: OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007 /etc/ssh/sshd_configの設定: Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 768 SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 PermitRootLogin yes StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no RhostsRSAAuthentication PermitEmptyPasswords no ChallengeResponseAuthentication no X11Forwarding no #X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes

  • 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

  • TeraTermでSSH認証できません

    TeraTermでSSH認証できません 以下環境でクライアントからサーバへ、TeraTerm(バージョン4.65)を利用してのSSH認証ができません。TeraTermを起動して、「新しい接続」画面でTCP/IPを選択しサーバのIPを入力、SSHにチェックを入れてOKボタンをクリック後、「SSH認証」画面でユーザ名(root)とパスワードを入力してOKボタンをクリックしても、何も反応がありません。 どのような原因が考えられるでしょうか。 設定を確認すべき点など教えてください。 SSHサーバ:  VMWarePlayerで動作する仮想マシンです。  CentOS5.4、OpenSSH_4.3p2  IPアドレスは192.168.24.97です。  /etc/sysconfig/selinuxを確認したところ、「SELINUX=disabled」の記述あり。  /etc/sysconfig/iptablesを確認したところ、「-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT」の記述あり。  /etc/ssh/sshd_configを確認したところ、「#PermitRootLogin yes」、「#PasswordAuthentication yes」の記述あり。 クライアント:  WindowsXP Home SP3、TeraTerm Version4.65  ローカルエリア接続のIPアドレスは192.168.24.82です。 クライアントから、サーバへpingを飛ばすと応答ありますが、逆は応答がありません。 よろしくお願いします。