Windows 命令行/PowerShell 使用 SSH 配置SSH自动连接服务器 (省略输入密码,服务器ip地址的步骤)

本文主要分为两部分,第一部分介绍如何在win下面安装使用OpenSSH,第二部分介绍如何 配置SSH自动连接服务器 (省略输入密码,服务器ip地址的步骤)
###一, Windows下OpenSSH的安装使用
Linux终端中使用SSH只需要使用如下命令,

ssh username@hostip

十分的简单方便,但是我们如果想要在Windows下使用SSH就得使用Xshell,putty等各种乱七八糟的工具软件,十分麻烦,所以下面介绍如何配置Windows自带的PowerShell让它也能够和linux一样简单方便的使用SSH,
首先这里我们需要借用一款工具 Chocolatey (https://chocolatey.org/),这东西就像Ubuntu里面的apt-get一样,可以直接使用

choco packagename

安装自己想要使用的软件包,十分方便好用,下面介绍具体如何安装Chocolatey 以及OpenSSH

1.安装Chocolatey
以管理员权限打开PowerShell运行以下命令,一行行的运行

Set-ExecutionPolicy AllSigned

在弹出的界面输入 y 然后回车

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

ok,Chocolatey就安装好了

2.关闭刚才的PowerShell,新以管理员权限打开一个PowerShell(注意最好重新打开,不然Chocolatey可能用不了,环境变量的原因)
然后运行如下命令安装OpenSSH(后面使用choco安装软件的时候最好都是以管理员权限安装)

choco install openssh

然后你就可以像在Linux下使用SSH一样简单方便的使用SSH了

###二, 配置SSH自动连接服务器 (省略输入密码,服务器ip地址的步骤)
1.使用 ssh-keygen 工具生成配对的公钥私钥,

ssh-keygen -t rsa

生成过程中会提示设置存放公钥私钥的位置,可以选择使用默认位置,我的就放在C:\Users\Tuzixini.ssh(tuzixini是我自己的用户名)(在linux下这个路径应该是~/.ssh),然后可以看到对应的目录下生成了 id_rsa 和 id_rsa.pub 两个文件,其中id_rsa就是我们自己的私钥文件,是放在自己这里不能拿出去的,id_rsa.pub就是公钥文件,分享这个文件即可实现免密码认证功能.

2.在服务器端开启自动认证功能,这一步的操作是在服务器端操作的
编辑修改 /etc/ssh/sshd_config 文件

sudo vim /etc/ssh/sshd_config

去掉下面几行代码前面的 # 注释

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys

3.上传公钥文件到服务器并将公钥内容导入认证文件(直接把内容复制进去也行)
这里我使用SCP上传公钥到我的服务器端~/.ssh目录下(tuzixini,192.168.0.222是我自己的用户名,ip地址,替换成你自己的服务器用户名和ip),或者你可以使用任何其他的ftp工具啥的把公钥上传到服务器

scp C:\Users\Tuzixini\.ssh\id_rsa.pub tuzixini@192.168.0.222:~/.ssh/authorized_keys

新建认证文件,

# 如果根目录下没有 .ssh文件夹,先使用下一行命令新建文件夹,如有有就跳过
mkdir ~/.ssh
# 新建认证文件
touch ~/.ssh/authorized_keys

导入公钥

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

**注:**这个公钥文件其实就是一串文本,你直接在远程界面使用vim把id_rsa.pub里面的文本复制保存在服务器的~/.ssh/authorized_keys文件中就行.

4.配置本地ssh文件,为远程服务器设置别名以及自动认证
编辑自己用户目录下的.ssh/config文件,我这里的目录是C:\Users\Tuzixini.ssh\config , linux 下对应的目录应该是 ~/.ssh/config
使用任何你喜欢的文本编辑器打开编辑config文件,添加以下文本,按照自己实际情况参考我的注释修改,并注意删除所有#以及#后面的注释(中文会对软件运行造成影响)

Host tuzixini #给你想连接的远程服务器起个别名,自己记住就好,方便自己后面使用,像我这里后面直接使用 ssh tuzixini 就可以了
User tuzixini #远程服务器中你的用户名
Hostname 10.168.66.1 #远程服务器ip
IdentityFile C:\Users\Tuzixini\.ssh\id_rsa #本地私钥地址,按照自己实际的路径修改

修改好之后保存即可

5.至此大功告成,想要使用远程服务器直接打开powershell然后输入

ssh tuzixini

这里将tuzixini替换成你上面在config里面为你的服务器设置的别名即可.
这里写图片描述

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值