linux主机间实现ssh/scp/rsync免密码登录
2017-04-25 17:18
656 查看
需求:在A主机使用ssh、scp、rsync能免密码登录B主机
A主机上操作:
[appabc@mvxl1485 scripts]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/abcapp/appabc//.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /abcapp/appabc//.ssh/id_rsa.
Your public key has been saved in /abcapp/appabc//.ssh/id_rsa.pub.
The key fingerprint is:
a7:6c:73:27:ff:7c:df:68:67:85:a0:16:35:44:ad:23 appabc@abc020
The key's randomart image is:
+--[ RSA 2048]----+
| oo. |
| o . |
| . o |
| E + |
| S .+ o . |
| . oo . .|
| =.o . .|
| . o + ...=|
| .o+++|
+-----------------+
[appabc@mvxl1485 scripts]$ cd $HOME
[appabc@mvxl1485 appabc]$ cd ~/.ssh
[appabc@mvxl1485 .ssh]$
[appabc@mvxl1485 .ssh]$ ls -ltr
?? 12
-rw-r--r-- 1 appabc abc 2368 11? 20 15:07 known_hosts
-rw-r--r-- 1 appabc abc 399 11? 20 15:41 id_rsa.pub
-rw------- 1 appabc abc 1675 11? 20 15:41 id_rsa
上面在主机A上生成了公钥和密钥,只需要将公钥copy到主机B的.shh目录下,并改名为authorized_keys。若B主机的$HOME目录下不存在.ssh目录,则建立.ssh。
scp -r id_rsa.pub 172.16.12.123:/abcapp/appabc/.ssh/authorized_keys即可,再ssh 172.16.12.123 date不用输入密码。
若互相免密码登录,则在B主机上作同样操作一次。
问题一:
如果ssh本机要求提示输入密码,而ssh其它主机正常,刚按以下方法处理:
在主机A上执行如下:
在本机:
cd /abcapp/appabc/.ssh/
cp id_rsa.pub authorized_keys
这步完成后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。
问题二:
按上面步骤建立A主机到B主机的免密码登录,但不生效,依然还是要输入密码:
如下:
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
apps@10.16.25.98's password:
Tue Apr 25 17:03:15 CST 2017
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
apps@10.16.25.98's password:
在B主机上查看.ssh的目录权限:
[apps@mvxl179 ~]$ ls -al|grep ssh
drwxrwxr-x 2 apps apps 4096 Apr 25 16:56 .ssh
.ssh目录具有775权限,改为700试试。
[apps@mvxl1079 ~]$ chmod 700 .ssh
[apps@mvxl1079 ~]$ ls -al|grep ssh
drwx------ 2 apps apps 4096 Apr 25 16:56 .ssh
A主机上再ssh登录B主机,不再提示输入密码。
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
Tue Apr 25 17:13:56 CST 2017
正确的做法是不用scp来复制,采用ssh-copy-id [-i [identity_file]] [user@]machine来完成复制,这样直接建好.ssh目录,而且权限也帮忙设置好,不会出现上面的问题二。
A主机上操作:
[appabc@mvxl1485 scripts]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/abcapp/appabc//.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /abcapp/appabc//.ssh/id_rsa.
Your public key has been saved in /abcapp/appabc//.ssh/id_rsa.pub.
The key fingerprint is:
a7:6c:73:27:ff:7c:df:68:67:85:a0:16:35:44:ad:23 appabc@abc020
The key's randomart image is:
+--[ RSA 2048]----+
| oo. |
| o . |
| . o |
| E + |
| S .+ o . |
| . oo . .|
| =.o . .|
| . o + ...=|
| .o+++|
+-----------------+
[appabc@mvxl1485 scripts]$ cd $HOME
[appabc@mvxl1485 appabc]$ cd ~/.ssh
[appabc@mvxl1485 .ssh]$
[appabc@mvxl1485 .ssh]$ ls -ltr
?? 12
-rw-r--r-- 1 appabc abc 2368 11? 20 15:07 known_hosts
-rw-r--r-- 1 appabc abc 399 11? 20 15:41 id_rsa.pub
-rw------- 1 appabc abc 1675 11? 20 15:41 id_rsa
上面在主机A上生成了公钥和密钥,只需要将公钥copy到主机B的.shh目录下,并改名为authorized_keys。若B主机的$HOME目录下不存在.ssh目录,则建立.ssh。
scp -r id_rsa.pub 172.16.12.123:/abcapp/appabc/.ssh/authorized_keys即可,再ssh 172.16.12.123 date不用输入密码。
若互相免密码登录,则在B主机上作同样操作一次。
问题一:
如果ssh本机要求提示输入密码,而ssh其它主机正常,刚按以下方法处理:
在主机A上执行如下:
在本机:
cd /abcapp/appabc/.ssh/
cp id_rsa.pub authorized_keys
这步完成后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。
问题二:
按上面步骤建立A主机到B主机的免密码登录,但不生效,依然还是要输入密码:
如下:
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
apps@10.16.25.98's password:
Tue Apr 25 17:03:15 CST 2017
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
apps@10.16.25.98's password:
在B主机上查看.ssh的目录权限:
[apps@mvxl179 ~]$ ls -al|grep ssh
drwxrwxr-x 2 apps apps 4096 Apr 25 16:56 .ssh
.ssh目录具有775权限,改为700试试。
[apps@mvxl1079 ~]$ chmod 700 .ssh
[apps@mvxl1079 ~]$ ls -al|grep ssh
drwx------ 2 apps apps 4096 Apr 25 16:56 .ssh
A主机上再ssh登录B主机,不再提示输入密码。
[apps@app--1 .ssh]$ ssh 10.16.25.98 date
Tue Apr 25 17:13:56 CST 2017
正确的做法是不用scp来复制,采用ssh-copy-id [-i [identity_file]] [user@]machine来完成复制,这样直接建好.ssh目录,而且权限也帮忙设置好,不会出现上面的问题二。
相关文章推荐
- SSH实现两台Linux主机无需密码互相登录
- linux下两台主机通过ssh实现无密码登录
- SSH实现两台Linux主机无需密码互相登录
- 基于cron、rsync和ssh免密码登录实现Linux系统间自动同步~
- Mac下到Linux主机ssh免密码登录
- Linux主机间ssh实现无密码登陆
- 【Linux学习笔记】Linux主机如何实现无需输入密码的远程登录或脚本远程执行
- Linux实现SSH无密码登录
- C#实现Linux登录和文件传输(Routrek.granados和Renci.SshNet的ssh、scp封装)
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务(下)附有命令移植脚本 推荐
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
- Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
- linux生成RSA密钥对,实现无密码ssh/scp
- Linux下通过 ssh-copy-id 无密码远程登录主机
- ssh 实现linux/unix无密码远程登录
- linux下实现ssh授权、无密码登录
- 不输入密码,ssh直接登录远程Linux主机
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录