Linux サーバーに SSH パスワードなしでログインする方法

Linux サーバーに SSH パスワードなしでログインする方法

テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ログイン数が少なければ問題ありませんが、ログイン数が多すぎると、余分なコマンド行はすべて冗長になります。

RSA認証ログイン方法

キーペアの作成

クライアント(ローカルマシン)ターミナルで次のコマンドを入力します。

ssh-keygen -t [rsa|dsa]

RSAとDSAは異なるアルゴリズムを表す

例えば:

ssh-keygen -t rsa

Enterキーを押し続けるだけです(パスワードを設定する必要はありません)

キーファイルと秘密キーファイル id_rsa、id_rsa.pub が生成されます (dsa が使用されている場合は、id_dsa、id_dsa.pub が生成されます)

生成場所は /root/.ssh/ フォルダ内です (私は root ユーザーを使用しているので、root では生成プロセスでファイルの場所が求められます)

.sshは隠しフォルダなので、ls -aを使用して表示します。

公開鍵をサーバーの指定された場所に置く

方法1: 直接コピー

1. 公開鍵をサーバーのルートユーザーの.sshフォルダにコピーします(ログインしているユーザーの.sshフォルダにコピーします)

scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/

2. 公開鍵をインストールする

サーバーにログインします cd /root/.ssh/

cat id_rsa.pub >> authorized_keys

方法2: ssh-copy-id コマンドを使用してコピーする (推奨)

1つのコマンドでOK

sshコピーID [email protected]

確認する

パスワードを入力しない場合は成功しますが、入力した場合は失敗します。

SSH ルート@172.16.0.164

予防

上記の操作はテスト済みで問題はありません

使用する Linux のバージョンやユーザーによって違いがあります。

問題がある場合は、次の2点を考慮してください。

1. id_rsa.pub および authorized_keys のファイル権限の問題

chmod 600 承認済みキー
chmod 700 ~/.ssh

2. ssh設定ファイル

 vim /etc/ssh/sshd_config
 #RSA認証を有効にします。デフォルトはyesです
 RSA認証はい
 公開鍵認証を有効にする。デフォルトは「はい」
 公開鍵認証はい
 #rootユーザーsshログインPermitRootLogin yes

(私はこれらの設定を変更していません。私のは redhat7.2 です)

シンプルなシェルスクリプトをカスタマイズする

共通フォルダにファイルを作成する

タッチ164.sh

ファイルの編集

ファイルの内容 ssh [email protected]

 vim 164.sh
 #コンテンツを追加 ssh [email protected]
 保存して終了: wq

ユーザーの実行権限を増やす

chmod u+x 164.sh

タブキーと一緒に使うともっと楽しい

./164.sh

Expectコマンドのパスワード不要のログイン方法

サーバーシステムを操作するのは良くないと思われるかもしれませんが、もちろんローカルで操作することもできます。

expectコマンドを使用するには、expectコマンドがローカルにある場合に限り、ローカル操作が必要です。

1. ファイルを作成する

タッチexpectssh.sh

以下の内容を追加し、ユーザー、IP、パスワードを自分のものに変更します。

 #!/usr/bin/expect -f
 ユーザー名をrootに設定する 
 ホスト名を172.16.0.164に設定する 
 パスワード 123456 を設定
 ssh $username@$hostname を起動する
 タイムアウト1を設定
 期待する { "はい/いいえ" 
  {「はい\r」を送信;exp_continue}
 }
 「$username@$hostnameのパスワード:」を期待します
 「$password\r」を送信
 交流する

2. expectssh.shに実行権限を追加する

chmod u+x expectssh.sh

3. コマンドを実行する

期待するexpectssh.sh

(1. expect コマンドを使用して実行する必要があります 2. 別のレイヤーにラップして、bash 解析を使用して実行できます)

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux でサーバーに接続するための SSH と Xshell の設定に関するチュートリアル (画像付き)
  • LinuxサーバのSSHクラッキング防止方法(推奨)
  • WindowsにOpenSSHをインストールし、SSHキーを生成してLinuxサーバーにログインします。
  • SSH経由でLinuxサーバーにファイルやフォルダをアップロードする方法
  • Python の Paramiko モジュールは、Linux サーバーにログインするための SSH 接続を実装します。
  • Windows で winscp とバッチ処理を使用して、SSH ポート経由で Linux サーバーにファイルをアップロードする
  • Linux サーバーで安全な SSH アクセスを構成するための 4 つのヒント
  • Linux ssh サーバーの構成コード例

<<:  MySQL でプロファイルを使用する方法のチュートリアル

>>:  Reactのdiffアルゴリズムの詳細な分析

推薦する

jQueryはシンプルなカルーセル効果を実装します

みなさんこんにちは。今日はカルーセルの実装についてお話しします。私が作成したカルーセルの効果は次のと...

CSS3 オーバーフロープロパティの説明

1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

Vueはデジタル千単位区切り形式をグローバルに実装します

この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...

MYSQL フルバックアップ、マスタースレーブレプリケーション、カスケードレプリケーション、および半同期の概要

MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

CSS 要素を表示および非表示にする 9 つの方法

Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...

Echarts は 1 つのグラフ内で異なる X 軸を切り替える機能を実装します (サンプル コード)

レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...

コマンドを使用してMySQLデータベース(de1)を作成する方法

1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

Vue.js フロントエンド Web ページ ポップアップ非同期動作例の分析

目次1. 序文2. ポップアップコンポーネントを2つ見つける3. 自分で作る3.1. Promise...

ウェブページを最適化してメモリとCPUの使用率を削減

一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...

Ubuntu 18.04にPython仮想環境をインストールする

Ubuntu 18.04 を使用する Python 開発者向けの参考資料です。 1. Ubuntu ...

デザイン協会: なぜ間違った場所を探したのですか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

MYSQL(電話番号、IDカード)データ非感応化の実装

1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...

CentOS7 ファイアウォール操作コマンドの完全なリスト

目次インストール: 1. ファイアウォールの基本的な使い方2. ファイアウォールd-cmdを設定する...