Windows 命令行使用SSH登录Linux
转自 http://www.linuxidc.com/Linux/2014-02/96625.htm
1、下载: openssh for Winodws:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是http://www.linuxidc.com/Linux/2013-07/87684.htm
2、安装: 下一步>>>...完成..
3、Windows环境变量: 右键计算机-->属性-->高级系统设置-->环境变量-->系统变量:编辑Path,在行尾追加 ;C:\Program Files (x86)\OpenSSH for Windows\bin -->各种确定即可
4、复制公钥和私钥到Windows安装路径的.ssh目录下
5、打开Windows命令行直接登录即可。如下图:
6、在命令行标题栏右键-->属性:把快速编辑模式 勾选,会很爽,选中,第一次右键复制,第二次粘贴...
个人补充:
- 我自己使用的是Windows10系统,已经自带了OpenSSH,安装路径是:C:\Windows\System32\OpenSSH\ssh.exe
- ssh连接时注意用户名,可使用ssh -l [username]
- 公钥和私钥可以使用SSH Secure Shell Client复制
出处:https://www.cnblogs.com/berwinsyu/p/6002628.html
=======================================================================================
Windows连接Linux,使用自带ssh命令行方式
虚拟机Linux SSH连接服务器Linux,使用过密钥,确实方便,但是没有试过Windows 使用密钥SSH连接服务器Linux,出于怕很麻烦的缘故没有使用方法一。
方法二没有用过,听说sshpass可以直接带密码作为参数,而ssh不可以。
方法三我目前的认知是仅限于简单的ssh连接,比如:
ssh pika@192.168.0.111
然后你输入密码之后软件会帮你自动保存,以后你只需点击图标,上述命令也不需要输入了,自动连接,确实方便。
但是,我目前的认知告诉我,这种软件不可以解决ssh的复杂功能,例如ssh通道端口转发:
ssh -fNg -L 9999:192.168.0.111:9999 pika@192.168.0.111
所以我们来到了方法四,遗憾的是,我没有找到怎么用批处理命令(.bat)来解决这个问题,但是却找到了用.vbs(Visual Basic Script)来解决这个问题的方案,这个.vbs文件和.bat文件一样,在Windows下都是直接点击就能运行的,只不过图标不一样。


话不多说,直接上vbs(假设你的服务器用户登录密码是:666666):
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd.exe"
WScript.Sleep 1500
WshShell.SendKeys "ssh -fNg -L 9999:192.168.0.111:9999 pika@192.168.0.111"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1500
WshShell.SendKeys "666666"
WshShell.SendKeys "{ENTER}"
我想,已经非常容易理解了吧,不过我还是解释一下:
打开cmd.exe
歇一会
在cmd.exe上自动输入:ssh -fNg -L 9999:192.168.0.111:9999 pika@192.168.0.111(所以你可以换成你自己的命令)
在cmd.exe上自动输入:回车(也就是执行上述ssh命令)
歇一会(此时会弹出要你输入密码)
在cmd.exe上自动输入:666666
在cmd.exe上自动输入:回车
没了,因为连接成功了。
最后,别忘了,上述文件需要命名为*.vbs文件,而不是*.bat文件,然后鼠标双击执行即可。
出处:https://blog.csdn.net/qq_43391414/article/details/120575748
=======================================================================================
Linux客户端ssh连接到服务器,自动输入密码
想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。
主要的解决方法有三种:
1. 生成ssh公钥,建立和对方机器的信任关系;
2. 使用expect脚本;
3. 使用sshpass。
这里介绍一下sshpass相关内容,下载并安装sshpass
# tar zxvf sshpass-xxxx.tar.gz
# cd sshpass-xxxx
# ./configure
# make && make install
基本用法:sshpass -p [密码] ssh [user]@[host]
免去第一次登录机器时的确认提示(Are you sure you want to continue connecting (yes/no)):
sshpass -p [密码] ssh [user]@[host] -o StrictHostKeyChecking=no
后面也可以跟上其他ssh命令,如scp等
例1,公司的一个环境,大部分机器的login密码是"1root",少部分是"123qwe",新建一个hssh.sh文件,按如下修改,copy到/usr/bin/目录下。
#!/bin/sh #_main_ temp_file=/tmp/hssh.1 ip=192.168.$1 case "$1" in "204.188"|"207.31"|"205.199") password="123qwe";; *) password="1root" esac sshpass -p $password ssh root@$ip -o StrictHostKeyChecking=no 2>$temp_file if [ $? != 0 ];then #for some reason,machine had reinstall, we need to delete that IP address in known_hosts file before ssh it. grep -q "REMOTE HOST IDENTIFICATION HAS CHANGED" $temp_file if [ $? = 0 ];then key_file=`grep "Offending key in" $temp_file | cut -d' ' -f 4 | cut -d ':' -f1 2>/dev/null` cat $key_file | grep -v "$ip" > $temp_file sudo cp -v $temp_file $key_file sshpass -p $password ssh root@$ip -o StrictHostKeyChecking=no 2>$temp_file fi fi
那么我们每次只要输入hssh XXX.XXX 等就可以ssh到对应机器上了
出处:https://blog.csdn.net/hepeng597/article/details/8727052
=======================================================================================
Linux使用脚本自动输入SSH密码连接服务器
我需要创建一个脚本,该脚本会自动向OpenSSH ssh客户端输入密码。
假设我需要myname@somehost使用密码SSH进入a1234b。
我已经尝试过...
#~/bin/myssh.sh
ssh myname@somehost
a1234b
...但这是行不通的。
如何将此功能纳入脚本?
首先,您需要安装sshpass。
- Ubuntu / Debian:
apt-get install sshpass - Fedora / CentOS:
yum install sshpass - 拱:
pacman -S sshpass
例:
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM
自定义端口示例:
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM:2400
笔记:
sshpass-f传递标志时,也可以从文件中读取密码。-f如果ps执行该命令,则使用会防止密码可见。- 密码存储在其中的文件应具有安全权限。
出处:https://qastack.cn/programming/12202587/automatically-enter-ssh-password-with-script
=======================================================================================
Windows命令行中使用SSH连接Linux(示例代码)_136.la
相关文章
在本地windows机器上安装SecureCRT客户端(示例代码)
如何自动输入密码ssh连接到其他机器(示例代码)
如何在MacOS上创建ssh隧道? [关闭]
使用ssh连接到远程git仓库(示例代码)
windows 和 linux ssh互连(示例代码)
ssh 命令(示例代码)
(11)ssh免密登录配置(示例代码)
linux命令--ssh创建隧道(示例代码)