Database JUNKY

MySQL,MariaDBを中心としたブログです

sshを無認証で接続する方法(公開鍵の設定)

実際警告は出した方がいいのですが、リモートの接続でいろいろ面倒なので、特定のクライアントは認証なしで接続するという 方法をメモします。私がめんどくさがりやなだけど、ちょっとセキュリティ上どーのこーのって話は無視します笑

f:id:hit10231023:20180308234003p:plain

接続クライアントの設定

あ、windowsちょっとわからないので、ちょっと今回はパス・・・。 MACがクライアントの場合、以下のコマンドをコンソールに打ち込みます

公開鍵の設定

下記コマンドで秘密鍵と公開鍵が生成されます

$ ssh-keygen -t rsa

生成された公開鍵をコピー

$ cat .ssh/id_rsa.pub
-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPPgOYgRVyK9XXQO6blX59Q9nQoDOo2oi738K/TjdQSPZNDELPKSZ3TY6xnE6InI2Y/GqnEwQfTTLZFyIHYeIYoTqho6BORfv95YQtqhaOBDZguQu67w5Sbm/s+ub2KTFnSqwOotdu6RqAUm6ge2Z9CUkDM2eNoiX5G3e+XHeBnKXg+VBKaN0Ozw/G4jep7ldQyIHHAUL/CAx201h/nvxQ8K0f5oSaiXv1kM510OsUvkIt3p3Ufg8n1l1mtErjGIioU8T+J+9X4khLLugMBaJLXH1VKWIbCqr9ZnfEGR9AcqY44bhEqlg9tjyn2+8xQg+1rD+B7nY4dtZ8fUsWbWpd user@hit-macbook.local

接続先の設定

上記でコピーした公開鍵を(デフォルトでは)~/.ssh/authorized_keysに貼り付けます。authorized_keysがなかった場合、自分で作成してね。

$ vi ~/.ssh/authorized_keys
------
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPPgOYgRVyK9XXQO6blX59Q9nQoDOo2oi738K/TjdQSPZNDELPKSZ3TY6xnE6InI2Y/GqnEwQfTTLZFyIHYeIYoTqho6BORfv95YQtqhaOBDZguQu67w5Sbm/s+ub2KTFnSqwOotdu6RqAUm6ge2Z9CUkDM2eNoiX5G3e+XHeBnKXg+VBKaN0Ozw/G4jep7ldQyIHHAUL/CAx201h/nvxQ8K0f5oSaiXv1kM510OsUvkIt3p3Ufg8n1l1mtErjGIioU8T+J+9X4khLLugMBaJLXH1VKWIbCqr9ZnfEGR9AcqY44bhEqlg9tjyn2+8xQg+1rD+B7nY4dtZ8fUsWbWpd user@hit-macbook.local

ssh接続の警告表示をしない

StrictHostKeyCheckingをnoにすることで、無効化できます。これは接続クライアント側で設定します 下記箇所がコメントアウトされていてかつ、デフォルトが、askになっておりますので、これをコメントアウトし、且つ、noに変更します

ssh_config

$sudo vi /etc/ssh/ssh_config
------
StrictHostKeyChecking no

sshを再起動します(macの話ですw)

$ sudo launchctl stop com.openssh.sshd

接続してみる

ssh user@remote_host.xxxx-yyyyy.com

いかがでしょうか?認証なしで接続できたかと思います