利用Cygwin搭建虚拟Linux环境,利用ssh登录其他Linux或者虚拟Linux环境,并实现无密码别名登录。
一. Windows电脑配置:
(1)配置Windows
1. 在防火墙进展规则里添加端口22,作为ssh的通信端口
2. 测试能否ping通对方主机。如果不同,则在系统服务开启文件和打印机共享服务,并设为为公用。远程地址也可对应配置。
3. Windows账户必须有密码
(2)安装Cygwin
1. 下载Cygwin的安装文件到F:\CygwinPackage (保存安装文件,以防重装)
2. 安装Cygwin在F:\Cywin,F:\Cywin\home下即为用户目录
将package下载到F:\CygwinPackage
Package中选择安装openssh和openssl,版本可选。
(3)配置ssh
1. 以管理员身份运行Cygwin,查看ssh版本
ssh -V
2. 配置host
ssh-host-config
-- Should StrictModes be used? (yes/no) no
-- Should privilege separation be used? (yes/no) no
-- Do you want to install sshd as a service? yes
-- Enter the value of CYGWIN for the daemon: []
-- Do you want to use a different name? (yes/no) no
-- Create new privileged user account ? (yes/no) yes
-- 设置密码
-- 允许创建账户cyg_server
3. 配置sshd服务
Win8: 在系统服务里找到CYGWIN sshd, 并进行设置账户为.\cyg_server
Win7: 在系统服务里找到CYGWIN sshd, 并进行设置账户为系统或者同上
设置完成后完毕Cygwin后再重新打开
4. 启动sshd服务:
net start sshd
5. 测试ssh命令
ssh localhost
Win8下登录其他主机前需先登录localhost
6. 登录远程主机
ssh localhost
(4)实现无密码登录
1. 生成Public和Private key。生成的key在.ssh目录下
ssh-keygen -t rsa -C "[email protected]"
2. 向对方主机发送Public key
ssh-copy-id user@host
Win8系统下如果提示key太open,则修改key权限:
chmod 6000 ~/.ssh/id_rsa
3. 无密码登录
ssh username@ip
当本地key改变时,host先删除know_hosts,再重新登录
(5)别名登录
在.ssh目录下打开config文件(如果没有就新建一个)添加如下内容:
Host 登录名
HostName IP地址
User 用户名
登录时即可使用:
ssh 登录名
(6)多机共用同一个key的方法
用scp将本地.ssh目录下的key复制到其他电脑的.ssh目录下即可
如果提示key太open,则使用上面的命令修改key权限
(7)删除Cygwin和sshd服务的方法
1. 删除sshd服务
cygrunsrv --stop sshd
cygrunsrv --remove sshd
2. 删除Windows的Privilege Server账户
3. 删除Cygwin文件夹
4. 删除防火墙的端口22规则
二. Linux电脑配置
1. 安装openssh-server
sudo apt-get openssh-server
2. 启动sshd服务
net start sshd