6 ssh免登陆
SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全的协议。不同主机之间在进行通信时,一般都是需要输入密码进行验证, ssh免密码之后,只要通过指定主机地址和端口号就可以实现不同的计算机之间访问时,不需要密码实现直接访问。ssh免密码登录主要采用算法有:对称加密算法和非对称加密算法。
6.1 什么是SSH免密登陆
https协议仓库地址:https://github.com/itcast-frontEnd/git-demo.git
6.2 安装ssh客户端程序
由于window10一般自带ssh客户端程序,若已安装ssh客户端程序,则跳过本步;否则执行以下步骤:
依次点击 设置-应用-应用和功能-可选功能-添加功能,如图所示:
文本框搜索 ssh
因为我们是要通过ssh连接服务器,作为客户端,只要下载OpenSSH客户端程序即可。
6.3 生成密钥
打开cmd命令行,输入ssh-keygen -t rsa命令,表示我们指定 RSA 算法生成密钥,如图所示:
接下来,然后敲三次回车键,期间不需要输入密码,之后就就会生成两个文件,分别为id_rsa和id_rsa.pub,即密钥id_rsa和公钥id_rsa.pub.
密钥文件id_rsa:私有密码,不用外传,否则别人能随意访问你的电脑。
公钥文件id_rsa.pub:可以随意转发,将其写入目标服务器,则可以免密钥登录
生成位置:
对于这两个文件,其都为隐藏文件,默认生成在以下目录:
Linux 系统:~/.ssh
Mac 系统:~/.ssh
Windows 系统:C:/Documents and Settings/username/.ssh
Windows 10 ThinkPad:C:/Users/think.ssh
6.4 创建config文件
打开记事本,建立一个名为config的文件,将以下内容放进去,内容大致是要跳转的主机地址和用户名:
Host remotegpu5
HostName 172.21.201.185
User username
ProxyCommand ssh.exe www.XXX.cn -W %h:%p -p 8007 -l username
Host remotegpu10
HostName 172.21.201.190
User username
ProxyCommand ssh.exe www.XXX.cn -W %h:%p -p 8007 -l username
(注:这里的username换成你们的用户名)
将config文件放到ssh目录下,如图所示:
6.5 在服务器添加公钥
6.6 在客户机测试是否成功
接下来就是打开本地6000端口作为和跳板机交互的端口,使用以下命令:
ssh -N -f -L 6000:172.21.321.285:22 -p 8007 @www.XXX.cn -o TCPKeepAlive=yes
输入你的密码,若密码错误则会提示,正确则无提示