有些文章不一定是为了上首页投稿首页投稿

SSH免密登入|SCP免密传输

2018-07-13  本文已影响0人  栾呱呱

有机器A(192.168.1.1)和机器B(192.168.1.2),实现从A通过SSH免密码登入到B

[work@192.168.1.1 ~]$ cd /home/work/.ssh // .ssh目录存放秘钥相关的配置文件
[work@192.168.1.1 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/work/.ssh/id_rsa): id_rsa_luanguagua // 这里如果使用默认的话可以直接回车
Enter passphrase (empty for no passphrase): // 不用输,直接回车
Enter same passphrase again: // 不用输,直接回车
Your identification has been saved in id_rsa_luanguagua.
Your public key has been saved in id_rsa_luanguagua.pub.
The key fingerprint is:
67:7e:3d:81:cf:51:da:7b:10:a4:5b:a4:1e:59:45:9f work@192.168.1.1
The key's randomart image is:
+--[ RSA 2048]----+
|              +oo|
|             B  o|
|            = oEo|
|           . = = |
|        S o + = .|
|         +   + +.|
|          . . =..|
|           .   ..|
|                 |
+-----------------+

至此,会发现多了两个文件,分别是私钥:id_rsa_luanguagua和公钥:id_rsa_luanguagua.pub

[work@192.168.1.1 .ssh]$ scp id_rsa_luanguagua.pub work@192.168.1.2:/home/work/.ssh/id_rsa_luanguagua.pub // 这里是需要输入密码的
[work@192.168.1.2 .ssh]$ cat id_rsa_luanguagua.pub >> authorized_keys

不出意外,从A登入到B已经可以免密了,但是经常会出现还是需要密码的情况,休慌,可能是权限导致的问题

[work@192.168.1.2 .ssh]$ chmod 600 authorized_keys // 最好是600
[work@192.168.1.2 ~]$ ll -a // 检查.ssh的权限,-a参数可以显示隐藏文件
[work@192.168.1.2 ~]$ chmod 700 .ssh // .ssh文件夹权限第二位不能是7

现在,就可以A到B免密登入了,SCP也一样

Host luanguagua # 别名
HostName 192.168.1.2 # 主机地址
User work # 用户名
IdentityFile ~/.ssh/id_rsa_luanguagua # 私钥文件

这样执行ssh luanguagua就可以进行免密登入了,效果等同于ssh work@192.168.1.2

方法一:通过 - i 参数指定私钥

[work@192.168.1.1 .ssh]$ ssh -i id_rsa_luanguagua work@192.168.1.2

方法二:修改config文件

Host 192.168.1.2 
HostName 192.168.1.2
User work 
IdentityFile ~/.ssh/id_rsa_luanguagua 

这样在登陆机器B的时候,就会使用id_rsa_luanguagua私钥文件

Host 192.168.1.2 
HostName 192.168.1.2
User work 
IdentityFile ~/.ssh/id_rsa_luanguagua1 

Host 192.168.1.3
HostName 192.168.1.3
User work 
IdentityFile ~/.ssh/id_rsa_luanguagua2

这样在登陆的时候,ssh会根据登陆不同的域来读取相应的私钥文件

上一篇下一篇

猜你喜欢

热点阅读