1.首先使用想要發起ssh免密訪問的用戶A登陸Linux(簡稱客戶端Linux)linux
2.進入該用戶的家目錄(cd ~),看是否有.ssh文件夾(linux中以.開頭文件夾是隱藏的,使用ll -a進行查看),若是沒有則建立(mkdir ~/.ssh),並修改訪問權限(chmod 700 ~/.ssh);服務器
3.生成公鑰和私鑰,命令:ssh-keygen -t rsa。一路回車下去,中途會提示然你輸入passphrase,這個是對私鑰的加密密碼,防止別人登陸到你的這個用戶,看到你的私鑰。命令執行結束後會在.ssh目錄生成兩個文件id_rsa(私鑰)和id_rsa.pub(公鑰),生成的密鑰長度默認爲2048位。ssh
若是是window,則要把密鑰(只放私鑰其實就能夠)放在以下位置測試
-------------------------加密
4.進入想要免密進行ssh登陸的戶B的Linux服務器所在的家目錄(簡稱服務器端Linux)spa
5.將第3步的公鑰發送並複製到.ssh目錄下,並更名爲authorized_keys .net
(方法有不少,好比使用scp id_rsa.pub 用戶B@IP地址或域名:/home/.ssh/authorized_keys)blog
6.而後就能夠測試一下是否配置成功,在用戶A上執行:ssh 用戶B@IP地址或域名get
(ssh指定端口號命令格式:ssh -p 端口號 用戶@IP地址或域名)域名
可參考:https://blog.csdn.net/mchdba/article/details/52193812
原理:非對稱加密,公鑰用來加密,私鑰用來解密