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