在window下用ssh免密登录远程服务器

1,491 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第31天,点击查看活动详情

6 ssh免登陆

6.1 什么是SSH免密登陆

https协议仓库地址:github.com/itcast-fron…

image.png

6.2 安装ssh客户端程序

由于window10一般自带ssh客户端程序,若已安装ssh客户端程序,则跳过本步;否则执行以下步骤: 依次点击 设置-应用-应用和功能-可选功能-添加功能,如图所示:

image.png

文本框搜索 ssh

image.png

因为我们是要通过ssh连接服务器,作为客户端,只要下载OpenSSH客户端程序即可。

image.png

6.3 生成密钥

打开cmd命令行,输入ssh-keygen -t rsa命令,表示我们指定 RSA 算法生成密钥,如图所示:

image.png

接下来,然后敲三次回车键,期间不需要输入密码,之后就就会生成两个文件,分别为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目录下,如图所示:

image.png

6.5 在服务器添加公钥

image.png

image.png

6.6 在客户机测试是否成功

接下来就是打开本地6000端口作为和跳板机交互的端口,使用以下命令:

ssh -N -f -L 6000:172.21.201.285:22 -p 8007 @www.XXX.cn -o TCPKeepAlive=yes

输入你的密码,若密码错误则会提示,正确则无提示