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、在命令行标题栏右键-->属性:把快速编辑模式 勾选,会很爽,选中,第一次右键复制,第二次粘贴...

 

个人补充:

  1. 我自己使用的是Windows10系统,已经自带了OpenSSH,安装路径是:C:\Windows\System32\OpenSSH\ssh.exe
  2. ssh连接时注意用户名,可使用ssh -l [username]
  3. 公钥和私钥可以使用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服务器

  1. win+R 输入 cmd
    win+R 输入cmd
  2. 输入:ssh+空格+用户名+@ip地址,然后按Enter
    ssh空格
  3. 输入 password ,注意密码是不显示的,输入完,再按回车就行了
    不显示password
    如果密码输入正确,则连接成功。

 

出处:https://blog.csdn.net/sungencheng/article/details/123070390

=======================================================================================

Windows命令行SSH连接Linux并自动输入密码

找了很多方法,有说用

  1. 密钥的
  2. sshpass工具的
  3. 用SSH客户端连接工具
  4. 脚本的

我很久之前试过用自己的虚拟机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创建隧道(示例代码)

 

posted on 2022-05-29 22:31  jack_Meng  阅读(7739)  评论(1编辑  收藏  举报

导航