ssh公钥密钥无密码登陆
2017-04-18 00:06
288 查看
SSH提供两种级别的安全验证。
第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的服务器在冒充真正的服务器,无法避免被“中间人”攻击。
第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。客户端软件会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密钥,然后把它和你发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有密钥加密“质询”(challenge)并把它发送给客户端软件。从而避免被“中间人”攻击。
基础环境:
机器A:192.168.1.107
机器B:192.168.1.108
SSH端口:32323
A机器用户:daiyu
B机器用户:daiyu
目标:
从A机器使用公钥密钥方式登陆B机器
(1)在A机器创建公钥密钥对,留意密钥对的存放路径
ssh-keygen -b 1024 -t rsa
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/03/e2821392c910278a067c6420d1964207)
(2) 在B机器被登陆用户根目录下创建目录.ssh,并设置正确的权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh
(3)将A机器的公钥拷贝至B机器被登陆用户的.ssh目录中
scp -P32323 ~/.ssh/id_rsa.pub daiyu@192.168.1.108:~/.ssh/
(4)调整B机器中的公钥,并设置正确的权限
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/.ssh/id_rsa.pub
ls -l ~/.ssh/
(5)修改A机器的SSH配置
sudo vim /etc/ssh/sshd_config
(6)重启A机器的SSH服务
sudo service sshd restart
(7)测试从A机器登陆B机器
ssh -p32323 192.168.1.108
注:如果B机器的.ssh目录和公钥的权限设置不正确,会输出日志"bad ownership or modes for directory…"
原文出自:http://blog.csdn.net/daiyudong2020/article/details/70217611
End;
第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的服务器在冒充真正的服务器,无法避免被“中间人”攻击。
第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。客户端软件会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密钥,然后把它和你发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有密钥加密“质询”(challenge)并把它发送给客户端软件。从而避免被“中间人”攻击。
基础环境:
机器A:192.168.1.107
机器B:192.168.1.108
SSH端口:32323
A机器用户:daiyu
B机器用户:daiyu
目标:
从A机器使用公钥密钥方式登陆B机器
(1)在A机器创建公钥密钥对,留意密钥对的存放路径
ssh-keygen -b 1024 -t rsa
-b bits Number of bits in the key to create. -t type Specify type of key to create.
(2) 在B机器被登陆用户根目录下创建目录.ssh,并设置正确的权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh
(3)将A机器的公钥拷贝至B机器被登陆用户的.ssh目录中
scp -P32323 ~/.ssh/id_rsa.pub daiyu@192.168.1.108:~/.ssh/
(4)调整B机器中的公钥,并设置正确的权限
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/.ssh/id_rsa.pub
ls -l ~/.ssh/
(5)修改A机器的SSH配置
sudo vim /etc/ssh/sshd_config
PermitRootLogin no RSAAuthentication yes PubkeyAuthentication yes
(6)重启A机器的SSH服务
sudo service sshd restart
(7)测试从A机器登陆B机器
ssh -p32323 192.168.1.108
[daiyu@localhost ~]$ ssh -p32323 192.168.1.108 Last login: Mon Apr 17 11:46:01 2017 from 192.168.1.107 [daiyu@localhost ~]$
注:如果B机器的.ssh目录和公钥的权限设置不正确,会输出日志"bad ownership or modes for directory…"
原文出自:http://blog.csdn.net/daiyudong2020/article/details/70217611
End;
相关文章推荐
- SSH无密钥登陆 与 配置公钥后仍需要输入密码的解决方案
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
- 【转载】 ssh 连接 通过公钥体制,无密码登陆
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录【已成功实例】
- 使用ssh公钥密钥自动登陆linux服务器
- 配置Centos7 SSH密钥登陆及密码密钥双重验证
- SSH 密钥远程登陆 禁止ROOT远程登陆 禁止用户密码登陆
- 密钥免密码登陆SSH
- ssh的配置,ssh打开密钥登陆,关闭密码登陆。
- Xshell配置ssh免密码登录-密钥公钥(Public key)
- Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)
- 使用ssh-keygen命令生成密钥对无密码远程登陆linux主机
- 使用ssh公钥密钥自动登陆linux服务器
- 小记ssh使用公私密钥key认证(免密码登陆)
- Linux ssh远程登陆方式:密码与公钥
- ssh 公钥免密码登陆
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
- SSH 公钥免密码登陆
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登