Windows 通过 cmd 免密链接 Linux
1. Windows 添加功能
win + i
打开设置 -> 应用 -> 可选功能 -> 查看功能 ==> 安装 OpenSSH 服务器
OpenSSH 客户端默认是安装好的, 没有安装好也需要将其安装.
windows 默认是已经下载好了 Windows Terminal
如果有兴趣可以下载Windows Terminal Preview
试一试.
2. 添加远程服务器
打开 Windows Terminal Preview 界面, 进入设置界面
2.1 第一种方式
打开 JSON 文件
通过
list
找到添加内容的位置
{
"commandline": "ssh -p 22 root@192.168.245.128",
"hidden": false,
"name": "CentOS8"
}
保存后便可以查看到, 点击输入密码即可
2.2 第二种方式 (推荐)
第一种方式了解了, 第二种方式图像化界面就简单啦
可以设置一些功能外观, 自己研究
3. 设置免密钥登录
生成密钥文件
ssh-keygen
3.1 root 用户设置密钥
将密钥文件复制到服务器中
scp -r C:\Users\Administrator/.ssh/id_rsa.pub root@192.168.245.128:~/.ssh/
进入服务器中将密钥添加到 authorized_keys 文件中
注意: 如果已经有了~/.ssh
文件夹, 可能配置后不起作用, 需要删除该文件夹重新建立执行下面的语句
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
再次进入就可以免密进入了
文件传输可以用免费的
WinSCP
我习惯用命令行
https://winscp.net/eng/index.php
3.2 非 root 用户设置密钥
这个比较麻烦些
3.2.1 改变 ssh 的配置文件
# 进入 root 权限
sudo su -
# 修改配置文件
vim /etc/ssh/sshd_config
修改配置文件内容如下: 需要一一对应改变后面的信息, 如果注释掉的需要去除注释
PermitRootLogin no
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
改完保存文件, 重新启动配置
service sshd restart
# 退出 root, 返回非 root 用户下
exit
3.2.2 进行添加密钥
建立文件进行粘贴密钥
mkdir ~/.ssh
chmod 777 ~/.ssh
cd ~/.ssh
touch id_rsa.pub
chmod 777 id_rsa.pub
vi id_rsa.pub
# 粘贴密钥后保存退出
cat id_rsa.pub >> authorized_keys
chmod 777 authorized_keys