linux上如何设置ssh免密登陆
一.linux上ssh鏈接
1、功能說明
scp就是security copy,用于將文件或者目錄從一個Linux系統(tǒng)拷貝到另一個Linux系統(tǒng)下。scp傳輸數(shù)據(jù)用的是SSH協(xié)議,保證了數(shù)據(jù)傳輸?shù)陌踩?#xff0c;其格式如下:
scp 遠程用戶名@IP地址:文件的絕對路徑 本地Linux系統(tǒng)路徑?
scp 本地Linux系統(tǒng)文件路徑 遠程用戶名@IP地址:遠程系統(tǒng)文件絕對路徑名
scp使用第一種格式是將遠程Linux系統(tǒng)上的某個文件或者目錄拷貝到本地Linux系統(tǒng)上來,使用第二種是將本地的某個文件或者目錄拷貝到遠程Linux系統(tǒng)的某個路徑下。
2、舉例
(1)目前我們處在IP為“10.4.63.11”的Linux系統(tǒng)下,計劃將系統(tǒng)下的/home/ai/maintain/target/maintain-1.0-SNAPSHOT.war
文件拷貝到IP為“10.4.62.94”的遠程Linux系統(tǒng)中xdy用戶下的/home/xdy/opt/目錄下,并更名:
scp /home/ai/maintain/target/maintain-1.0-SNAPSHOT.war xdy@10.4.62.94:/home/xdy/opt/maintain.war
命令輸入完畢,會要求輸入“10.4.62.94”服務器xdy的密碼,然后開始遠程拷貝數(shù)據(jù)。
(2)將本地/etc目錄中所有的文件和子目錄拷貝到IP為“10.4.62.94”的遠程Linux系統(tǒng)的root用戶下的/opt目錄中:
scp -r /etc xdy@10.4.62.94:/opt
這里的選項“r”與cp命令的“r”選項含義相同。
二.如何設置免密登陸
準備兩臺以上的Linux服務器
先使用ssh登錄試一下,如果沒有安裝則需要先安裝一下
ssh 10.4.63.11 會提示你輸入密碼
[ai@Database2 ~]$ ssh 10.4.63.11
ai@10.4.63.11's password:?
Last login: Mon Jan ?9 10:40:29 2017 from 10.4.16.200
執(zhí)行ssh-keygen -t rsa
這時.ssh目錄下會生成私鑰和公鑰的鍵值對id_rsa,id_rsa.pub
再其他服務器上執(zhí)行同樣的命令生成文件(這里以一臺為例)
[ai@Database2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ai/.ssh/id_rsa):(一路回車)?
Enter passphrase (empty for no passphrase):?
Enter same passphrase again:?
Your identification has been saved in /home/ai/.ssh/id_rsa.
Your public key has been saved in /home/ai/.ssh/id_rsa.pub.
The key fingerprint is:
da:7d:0c:8d:bf:ba:d5:0b:89:53:ea:cd:bc:a5:87:e7 ai@Database2
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
| ? ? ? ? ? ? ? ? |
| ? ? ? ? ? ? ? ? |
| ? ? ? ? ? ? ? ? |
| ? ? ? ? ? o ? ? |
| ? ? ? ?S o o ? ?|
| ? ? ? o . B o ? |
| ? ? ?. . = B.o ?|
| ? ? ? ? . B.=o. |
| ? ? ? ? ?+oB=E ?|
+-----------------+
將所有服務器上的公鑰合并到一個文件authorized_keys中
cat id_rsa.pub >> authorized_keys
ssh xdy@10.4.62.94 cat /home/xdy/.ssh/id_rsa.pub >> authorized_keys
查看authorized_keys里面有多個server的公鑰信息,如果你有多個server同樣往里面加就好了
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv97+Xzd2GRlmq3TcAMGn2gX8DJbUQ89f6H8A1ZA5goLYtJ//jLmItjkw5C8/B7HRRrsGsGvn8rHm7mCXDVjaiPuqKWodydaQUDJaGCG4U5I0piz20du563odt6Lgp5sWzoQkDt0aH2UC4c+U8ZDpI5uyw8ay+V60gYdpZC+BBs4tWk1EQtKOaGrHRKRcYxE11eMbFaf/ieVa50c0Tvw+PV9wUdFBY3f769bGhX/hYp5MqvgnTWJvTx5dj2vNYdIS7+maPgDM0Ym34pF+7BRvy4JpOXLxZJHpZohy1uxl+pbVscwXKhCSk+wNRkRNaH/BQ3hs5WczZWrc78l0YHggnQ== ai@Database2
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwcAVNHex5eZx2WpbRfwo2YcQEERHRyj6EIxerAq8ebvdBs+3aOyo3quTAIjtKYMx5jWkWcDTZOW2WQ8tKqOTn9Dedtb7gwhxPYIF8qcxWpZXINt92cJcgZSsMHAor+tqxupeej4CkePtuEjoNeAESiOenJ1YPbtEVC9ms5HUpxaiG41lIxFdCx6anJByvgnOZIdf97hQE5RpY+qmNBl2L5fAZN7JwxaKjmiTx6rkNzvs3K3swXk4524e8gPLXeD9VRKYeYT1zQHfy7PLmER8Lq2Y9mTSRP0mJ7UYfvvf8QqgWH+AZjjmoMTsn+HsdPf3UMXk9RbV3dYeeWO41WEaeQ== xdy@xxweb04
將authorized_keys、known_hosts分別復制到其他服務器的.ssh目錄下
scp authorized_keys xdy@10.4.62.94:/home/xdy/.ssh/
scp known_hosts xdy@10.4.62.94:/home/xdy/.ssh/
[ai@Database2 .ssh]$ scp authorized_keys xdy@10.4.62.94:/home/xdy/.ssh/
xdy@10.4.62.94's password:?
authorized_keys ? ? ? ? ? ? ? ? ? ? ?100% ?787 ? ? 0.8KB/s ? 00:00 ? ?
[ai@Database2 .ssh]$ scp known_hosts xdy@10.4.62.94:/home/xdy/.ssh/
known_hosts ? ? ? ? ? ? ? ? ? ? ? ? ?100% ?784 ? ? 0.8KB/s ? 00:00 ? ?
[ai@Database2 .ssh]$
這時候再ssh登錄,這時候就不用再輸入密碼啦。
scp /home/ai/maintain/target/maintain-1.0-SNAPSHOT.war xdy@10.4.62.94:/home/xdy/opt/maintain.war
轉載于:https://blog.51cto.com/dreamy/1890537
總結
以上是生活随笔為你收集整理的linux上如何设置ssh免密登陆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 紫薇排盘怎么看(教你快速看懂一个人的命盘
- 下一篇: Cinder 组件详解 - 每天5分钟玩