windows下安装ssh服务器

1、使用openssh。因为在ubuntu下使用apt-get安装命令时,就是安装openssh。

2、点击:mls-software.com。这里教你怎样安装openssh for windows。不好找啊!

错误1

我想修改openssh for windows的密码。我网上搜了一下,发现方法都太复杂了。多绝招的我突然想到:重装就可以了。(中间发生这个的小插曲:我没有在终端执行net stop opensshd,安装的时候提示有问题,点击忽略。后面我在终端执行stop,然后重新安装)我于是点击安装文件重装。按照提示,输入自己的新密码XXYY,很快就装好了。

开始-->cmd-->net start opensshd,竟然提示:

发生系统错误 1069。
由于登录失败而无法启动服务。

我搜到这个网页net start sshd 发生系统错误1069--cygwin安装过程_报恩的猫的博客-CSDN博客,

开始-->cmd-->services.msc

但是根本找不到CYGWIN ssh

我有想来想去,我突然想到:可能是找OpenSSH,果然找到。开始-->cmd-->services.msc-->OpenSSH Server

我双击,然后点击:OpenSSH Server -->常规,服务状态,启动

竟然还是提示一样的错误。我忍不住叫了一声,很郁闷。

不容易放弃的我又在想办法,后面想到是不是这样:OpenSSH Server -->登陆,此账号,密码,确认密码-->输入安装时输入的密码XXYY。

我输完,点击应用,然后点击:OpenSSH Server -->常规,服务状态,启动。这时看到启动成功了。

错误2:

我输入:ssh [email protected],总是提示:Permission denied

后来看到这个文章:OpenSSH for windows 与ssh windows_呼噜呼噜的博客-CSDN博客

自己有查看:开始-->cmd-->services.msc-->OpenSSH Server-->登陆,觉得应该这个:ssh -p 22 [email protected]

但是问题还是一样。我突然发现:不管我重装多少次,D:\Program Files\OpenSSH\etc\sshd_config的文件都不会变。我想会不会我重装后,我改了密码,但是由于文件没有变,还是认原来的密码?我于是我执行net stop opensshd停止服务,然后删除D:\Program Files\OpenSSH,重新安装。在终端重新启动服务器,然后执行ssh -p 22 [email protected]。虽然还不行,但是问题不一样了。

后面根据提示,删除D:\Program Files\OpenSSH\home\Administrator\.ssh\known_hosts,问题有一样了。

后面我装cygwin后,发现远程登录的时候,使用putty,账号是Administrator,密码是windows的密码。我突出想是不是上面也一样呢?使用windows的密码,而不是安装openssh时设置的密码?我好想有试过使用windows的密码。

不管怎样不去试了。windows 7也快淘汰了。windows10自带ubuntu的,windows10都不存在这些问题了。

/

但是我是不会那么容易放弃的,我还是想把openssh安装成功。我后来找到这个网页:Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows - feipeng8848 - 博客园

然后找到Win10安装cygwin并添加apt-cyg - feipeng8848 - 博客园

于是我按照这个网页上安装cygwin。事情总是不会那么顺利的

错误1:

安装的时候提示没法下载:

解决:

Cygwin Setup - Choose Download Site(1)-->User URL: http://mirrors.163.com/cygwin/

方法1:网页里面也说了安装apt-cyg后,可以像apt-get一样下载软件

方法如下:

[1]去GitHub下载脚本:https://github.com/transcode-open/apt-cyg

[2]解压刚刚下载的zip文件

[3]把apt-cyg拷贝到D:\cygwin64\bin

[4]双击桌面的Cygwin64 Terminal,输入:apt-cyg install vim。这样就可以安装vim了

错误2:

你确定会这么顺利使用apt-cyg吗?方法1里面执行apt-cyg install vim的时候,出现:

$ apt-cyg install vim
Installing vim
wget is not installed, using lynx as fallback
/usr/bin/apt-cyg: line 128: lynx: command not found
vim-8.2.0486-1.tar.xz: FAILED
sha512sum: WARNING: 1 computed checksum did NOT match

解决方法:

怎么解决呢?我突然灵光一现,想:会不会安装软件的时候可以选择的啊?果然是。我经常靠这些灵光解决办法。没办法,这个世界太多坑了。

重新双击cygwin的安装文件,在Cygwin Setup - Select Packages的界面选择lynx,其他按照原来的方法设置。
Cygwin Setup - Select Packages -->View:Full Search:lynx
                                  View:Full Search:wget
                                  View:Full Search:openssh

安装完后,就可以执行apt-cyg install vim了。

问题1:

问题又来了。cygwin安装完了。剩下怎么ssh登录啊?我尝试ssh  [email protected]。失败了。很正常。

后来搜到这个网页:windows cygwin sshd 服务启动失败解决方法 - xjx_user - 博客园。这让我注意到ssh-host-config,剩下的就是靠我发现的了。自己看吧

Administrator@PC-201805171104 ~
$ apt-cyg install openssh
Package openssh is already installed, skipping

Administrator@PC-201805171104 ~
$ ssh  (按Tab,出现下面的)
ssh-add.exe      ssh-copy-id      ssh-keygen.exe   ssh-user-config
ssh-agent.exe    ssh-host-config  ssh-keyscan.exe  ssh.exe

Administrator@PC-201805171104 ~
$ ssh-host-config

*** Info: Generating missing SSH host keys
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
*** Info: Creating default /etc/ssh_config file
*** Info: Creating default /etc/sshd_config file

*** Info: StrictModes is set to 'yes' by default.
*** Info: This is the recommended setting, but it requires that the POSIX
*** Info: permissions of the user's home directory, the user's .ssh
*** Info: directory, and the user's ssh key files are tight so that
*** Info: only the user has write permissions.
*** Info: On the other hand, StrictModes don't work well with default
*** Info: Windows permissions of a home directory mounted with the
*** Info: 'noacl' option, and they don't work at all if the home
*** Info: directory is on a FAT or FAT32 partition.
*** Query: Should StrictModes be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file

*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: []

*** Info: The sshd service has been installed under the LocalSystem
*** Info: account (also known as SYSTEM). To start the service now, call
*** Info: `net start cygsshd' or `cygrunsrv -S cygsshd'.  Otherwise, it
*** Info: will start automatically after the next reboot.

*** Info: Host configuration finished. Have fun!

错误:如果出现错误,安装失败怎么办?

退出Cygwin64 Terminal,然后在左面点击右键,选择“以管理员身份运行”。这样就不会有错了。

Administrator@PC-201805171104 ~
$ net start cygsshd
CYGWIN cygsshd 服务正在启动 .
CYGWIN cygsshd 服务已经启动成功。


Administrator@PC-201805171104 ~
$ ssh-user-config
*** Query: Shall I create a SSH2 RSA identity file for you? (yes/no) yes
*** Info: Generating /home/Administrator/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
*** Query: Do you want to use this identity to login to this machine? (yes/no) yes
*** Info: Adding to /home/Administrator/.ssh/authorized_keys
*** Query: Shall I create a SSH2 DSA identity file for you? (yes/no) yes
*** Info: Generating /home/Administrator/.ssh/id_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
*** Query: Do you want to use this identity to login to this machine? (yes/no) yes
*** Info: Adding to /home/Administrator/.ssh/authorized_keys
*** Query: Shall I create a SSH2 ECDSA identity file for you? (yes/no) yes
*** Info: Generating /home/Administrator/.ssh/id_ecdsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
*** Query: Do you want to use this identity to login to this machine? (yes/no) yes
*** Info: Adding to /home/Administrator/.ssh/authorized_keys
*** Query: Shall I create a (deprecated) SSH1 RSA identity file for you? (yes/no) no  (到这里,非要选择no,才能结束)

*** Info: Configuration finished. Have fun!

Administrator@PC-201805171104 ~
$ ssh [email protected]
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:CP8ekC9/Z9V6jwZCZf23dmbQvaIMvpdkz4kqhNoHCfM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/Administrator/.ssh/id_rsa':

Administrator@PC-201805171104 ~
$    到这里,登陆成功了。不管怎样,我最后还算是解决了windows下的ssh问题了。

问题2:

在终端执行了ssh-user-config后,

如果在cygwin终端执行:ssh [email protected],那么输入ssh-user-config设置的密码

如果远程电脑使用putty,那么还是使用Administrator账号的密码。

补充说明:

(1)我换了一台电脑后,出现这个错误:

*** Query: Do you want to use this identity to login to this machine? (yes/no) yes
*** Info: Adding to /home/hw/.ssh/authorized_keys
cat: /home/hw/.ssh/identity.pub: No such file or directory
不用管这个错误。

(2)在终端里面,执行:

net  stop  cygsshd

apt-cyg  remove  openssh

rm -vf  /etc/ssh*

rm -rvf  ~/.ssh

apt-cyg install openssh

在终端里面重新安装vim,否则有问题,所以我也重新安装了openssh

(3)在终端里面看一下是什么用户名,我有的电脑是Administrator,有些电脑是hw,我也不知道为什么会不一样。

登陆的时候用终端看到的名字和windows的密码,不是上面设置的密码。我也不知道什么原因,我灵光一现,想出了很多种组合,一个一个试,试出来的。

问题3:

问题又来了。我搞那么多事的目的就是使用ssh,远程访问电脑上的文件,那么怎么访问啊?

看这个网页吧:Cygwin访问windows磁盘目录_Zoey29的博客-CSDN博客

终端执行:mount

终端执行:cd  /cygdrive/d  (进入D盘)

问题3:

怎样使用putty,免密码登陆到我的电脑呢?

打开cygwin终端,把authorized_keys拷贝到~/.ssh里面,~就是/home/Administrator。Administrator就是windows下的账号,自动创建的。

怎样制作authorized_keys,怎样设置putty?网上查吧。我不在这里说明了。

问题4:

我想在终端里面下载东西,怎么办呢?

网页:linux下有没有基于命令行的下载工具? - 知乎

重新双击cygwin的安装文件,在Cygwin Setup - Select Packages的界面选择aria2c,其他按照原来的方法设置。
Cygwin Setup - Select Packages -->View:Full Search:aria2c

使用很简单: aria2c  *.torrent       (BT种子文件)

           或者: aria2c  magnet:?*    (磁力链地址字符串)

到此为止,我终于做到我想做的了,就是:远程登录到我的电脑,查看文件,下载网上资源。

问题5:

cygwin里面的怎样免密码登陆到其他服务器啊?

[1]vim /etc/ssh_config,选择    IdentityFile ~/.ssh/id_rsa

[2]cd ~/ ;  ssh-keygen -t rsa

Enter passphrase (empty for no passphrase):(直接回车)

自动在~/.ssh下生成id_rsa  id_rsa.pub

[3]把id_rsa.pub拷贝到服务器上,并执行:cp id_rsa.pub ~/.ssh/authroized_keys ; chmod 600 ~/.ssh/authroized_keys

[4]把id_rsa拷贝到~/.ssh,执行:cp id_rsa  ~/.ssh/;  chmod 600 ~/.ssh/id_rsa  (如果是自己生成的,就不用拷贝了,本来就在这里)

到这里就可以免密码登陆了。

问题6:怎样生成windows的ppk?

网页:ssh-keygen生成私钥和公钥 - weizy81 - 博客园

[1]下载puttygen.exe

[2]点击Conversions-->Improt key,选择上面的~/.ssh/id_rsa -->选择SSH-1(RSA)

[3]点击Save private key

[4]id_rsa.ppk

putty怎么用就不说了。看这个网页:Windows下用SSH公钥验证实现免密码登陆(图文教程) - OSCHINA - 中文开源技术交流社区

问题7:

Agent admitted failure to sign using the key

跟网页一样,执行ssh-add   ~/.ssh/id_rsa,但是还是没有用。

在另一台电脑上的同样的虚拟机却没有这个问题!!

后来我删掉~/.ssh全部文件,然后重新从另一台拷贝id_rsa到~/.ssh。这样就不会出现这个问题了。

问题8:

windows 10怎么弄ssh啊?

(1)先把windows自带ubuntu弄出来,可以看我的另一篇文章

(2)自带的ubuntu已经有了openssh了,但是有问题。

    执行:ssh [email protected],出现连不上。后来我有灵光一现,是不是没有开启服务啊?

    执行:sudo service ssh start,出现

* Restarting OpenBSD Secure Shell server sshd

Could not load host key: /etc/ssh/ssh_host_rsa_key

Could not load host key: /etc/ssh/ssh_host_ecdsa_key

Could not load host key: /etc/ssh/ssh_host_ed25519_key

网上一搜,一下子就找到方法了:

sudo apt-get remove openssh-server
sudo apt-get install openssh-server

sudo service ssh start

ssh [email protected]  到这里成功了。

但是其他电脑还是没法登录windows 10自带的ubuntu的ssh,可能是IP的问题吧,不折腾了。windows 10本省也带openssh

你可能感兴趣的:(ssh,服务器,windows)