Linux秘钥远程登录,(不需要密码登录服务器)
Linux密钥远程登录
1. Linux密钥远程登录,需要用到公钥和密钥。
a) 公钥保存到服务端,密钥保存到客户端。
b) 客户端连接工具,ssh命令行工具,putty。
c) 用途:
i. 安全。可以把密码登陆取消,只用密钥登陆。
ii. 方便。服务器比较多的时候,避免忘记密码的风险。
2. 生成密钥
a) PUTTYGEN
i. 可以生成3个文件:id_rsa,id_rsa.pub,id_rsa.ppk。
ii. 
iii. 
iv. 【Save public key】保存的是【id_rsa.pub】,【Save private key】保存的是【id_rsa.ppk】,【Conversion->Export OpenSSH key】保存的是【id_rsa】。
v. Id_rsa是密钥,id_rsa.pub是公钥,id_rsa是putty专用的密钥。
b) ssh-keygen
i. 可以生成2个文件:id_rsa,id_rsa.pub
ii. 生成密钥的文件路径,可以自己定义,避免产生多个密钥的冲突。

3. 部署公钥密钥
a) 服务端,id_rsa.pub重命名为authorized_keys。
b) 客户端
i. 原生ssh,把服务端的/root/.ssh/id_rsa拷贝到【C:\Users\Administrator\.ssh\】下。
ii. 拷贝的方式,可以用scp,Filezilla。
iii. 
iv. Scp的传输,Windows下用git-bash自带的mingw32模拟器操作。
1. scp root@192.168.108.120:/root/.ssh/id_rsa /c/Users/Administrator/.ssh/
2. IP是Linux服务器的IP。查看IP的命令是ip addr和ifconfig。
3. Root的意思是用户名。
c) 测试连接:
i. 客户端 ssh root@192.168.108.120,如果不用输入密码就能连接上服务器,说明密钥连接成功。
ii. Putty链接:
1. 
2. 
3. 点击Open,就可以进行连接了。
4. 再弹出的窗口中输入PPK对应的用户名,回车登录。必须对应到用户名。

5. 出现登陆SHELL,表明成功。

4. 客户端同时管理多个服务器,id_rsa会发生冲突。
a) 如果用putty,这个问题不存在,因为可以指定。
b) 如果是原生SSH。则需要一个配置文件【config】。

【config】文件内容:
Host 192.168.108.120
IdentityFile ~/.ssh/id_rsa.192.168.108.120
User root //登录用户名
c) 三行代码,分别对应主机名,密钥位置,用户名。
d) 【~】在git-bash中,对应位置是【/c/Users/Administrator】。

浙公网安备 33010602011771号