Windows 命令行使用SSH登录Linux
转自 http://www.linuxidc.com/Linux/2014-02/96625.htm
1、下载: openssh for Winodws:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2014年资料/2月/14日/Windows 7命令行下使用SSH通过秘钥登录Linux
下载方法见 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的ip
想要进行连接,首要要知道目标机的ip地址
打开Linux的终端输入ifconfig命令查看Linux的ip地址
ifconfig
找到如下位置后面的12位ip地址
二、用window进行连接
打开Windows的cmd或终端
输入你要远程登录的用户和Linux的ip地址
ssh 用户名@你的ip地址
用户名是你登录Linux的用户名称,ip地址是上面看到的12位数
密码正确后就连接成功了
连接成功后你就可以开始进行操作了
出处:https://blog.csdn.net/weixin_54530527/article/details/123258546
=======================================================================================
Windows下cmd命令行ssh连接Linux服务器
- win+R 输入 cmd
- 输入:ssh+空格+用户名+@ip地址,然后按Enter
- 输入 password ,注意密码是不显示的,输入完,再按回车就行了
如果密码输入正确,则连接成功。
出处:https://blog.csdn.net/sungencheng/article/details/123070390
=======================================================================================
Windows命令行SSH连接Linux并自动输入密码
找了很多方法,有说用
- 密钥的
- sshpass工具的
- 用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
相关文章
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。(●’◡’●)
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!