ホームページ  >  記事  >  php教程  >  Linux でのパスワードなしのログイン

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

高洛峰
高洛峰オリジナル
2016-10-12 16:14:001260ブラウズ

1. Linux で鍵を生成する

「man ssh-keygen」コマンドによる ssh-keygen のコマンドマニュアル:

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

コマンド「ssh-keygen -t rsa」

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

ユーザーのルートディレクトリに「.ssh」フォルダが生成されます

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

「.ssh」と入力すると以下のファイルが生成されます

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

Authorized_keys: 主にこれを介して、リモートのパスワードなしログイン用の公開鍵を保存しますファイルは複数のマシンの公開鍵を記録します
id_rsa: 生成された秘密鍵ファイル
id_rsa.pub: 生成された公開鍵ファイル
know_hosts: 既知のホスト公開鍵のリスト

ssh 公開鍵を有効にしたい場合は、少なくとも次の 2 つの条件を満たしている必要があります:

1) .ssh ディレクトリの権限は 700 である必要があります
2) .ssh/authorized_keys ファイルの権限は 600 である必要があります

2. リモートパスワードなしログイン

回路図:

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

以下がよく使われます メソッド:

2.1 ssh-copy-id経由

コマンド: ssh-copy-id -i ~/.ssh/id_rsa.put

例:

[root@test .ssh]# ssh-copy -id -i ~/.ssh/id_rsa.pub 192.168.91.135
root@192.168.91.135 のパスワード:
次に、「ssh '192.168. 91.135'" にチェックインしてください:

.ssh/authorized_keys

予期しない余分なキーが追加されていないことを確認します。

[root@test .ssh]# ssh root@192.168.91.135
最終ログイン: Mon Oct 10 01:25:49 2016 from 192.168.91.133
[root@localhost ~]#

一般的なエラー:

[root@test ~]# ssh-copy-id -i ~/.ssh/ id_rsa.pub 192.168.91.135

-b ash: ssh-copy-id: command not found //プロンプトコマンドが存在しません

Solution: yum -y install openssh-clients

2.2 コンテンツを相手に書き込むscpを通して当事者のファイル

コマンド: scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys

例:

[root@test .ssh]# scp -p ~/ .ssh/id_rsa.pub root@192.168.91.135: /root/.ssh/authorized_keys
root@192.168.91.135 のパスワード:
id_rsa.pub 100% 408 0.4KB/s 00:00
[root@test .ssh ]#
[root@test .ssh]#
[root@test .ssh]#
[root@test .ssh]# ssh root@192.168.91.135
最終ログイン: Mon Oct 10 01:27:02 2016 から 192.168 .91.133

[root@localhost ~] #

2つのステップに分けることもできます:

$ scp ~/.ssh/id_rsa.pub root@:pub_key // ファイルをリモートサーバー
$ cat ~/pub_key >>~/.ssh /authorized_keys ’ から ’ s ’ s へ ‐ ‐ ‐ ‐ ‐Ansible によるバッチパスワード不要

2.3.1 パスワードなしの操作を必要とするマシンホストを /etc/ansible/hosts に追加します:
[Avoid close]
192.168.91.133
192.168.91.134

2.3.2 Secret Operation

ansible
-m allowed_key - a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
例:
[root @test sshpass-1.05]# ansible test -m allowed_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k
SSHパスワード : ----->パスワードを入力
192.168.91.135 | success >> {
"changed": true,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArZI4kxlYuw7j1nt5ueIpTPWfGBJoZ8Mb02OJHR8yGW7A3izw T3/uhkK7RkaG avBbAlprp5bxp3i0TyNxa/apBQG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24 ido1ZF9RfRWzfYF7bV sLsrIiMPmVNe5KaGL9kZ0svzoZ708yjWQQCEYWp0m+sODbtGPC34HMGAHjFlsC/SJffLuT/ug /hhCJUYeExHIkJF8OyvfC6DeF7ArI6zdKER7D8M0SM WQmpKUltj2nltuv3w== root@ localhost.localdomain",
"key_options": null,
"keyfile": "/root/.ssh/authorized_keys",
"manage_dir": true,
"path": null,
" state": "present",
"unique": false,
"user": "root"
}
[root@test sshpass-1.05]#

2.4 手動でコピー&ペーストする方法

ローカルのid_rsa.pubファイルを変更する 内容を~にコピーします。リモートサーバー上の /.ssh/authorized_keys ファイル


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。