① ssh的简介
SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
② 本例的应用场景
用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\testbat
注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。
2 ssh服务器的安装(Windows)
ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。
① 首先从官方站点下载软件并安装(>卡死是因为LIUNX安全设置问题,在一段时间内没有使用数据的情况下会自动断开,解决方法就是让本地或者服务器隔一段时间发送一个请求给对方即可
在本地打开配置文件(不建议在server端设置)
添加以下参数,如果有直接修改
修改完之后重启一下ssh服务(Mac OS 可以不用这一步)1 打开MAC终端 /etc/ssh/ enter
2 sudo vim ssh_config (必须用管理员权限编辑,否则无法编辑)
3 shift + i 进入编辑模式, 在host下面加入 ServerAliveInterval 60 一项, 如下图
4 shift + : 输入wq退出
5 到此完成, 连接你的服务器试试效果吧。在 windows 11 的 ubuntu 2204 子系统使用证书连接服务器,提示 sign_and_send_pubkey: no mutual signature supported 错误。
搜了下资料,才发现是 SHA-1 算法不安全,新版本的 openssh 已经禁用了。
临时解决方法加上 -o PubkeyAcceptedKeyTypes=+ssh-rsa 参数。
最佳方法是使用其它算法重新生成证书 ssh-keygen -t ed25519 -C "your_email@examplecom" 。
运维也要时刻关注在用软件的漏洞情况,及时进行软件版本升级,以免被攻击。
参考:
OpenSSH to deprecate SHA-1 logins due to security risk | ZDNet
SSH-RSA key rejected with message "no mutual signature algorithm" | Bitbucket Data Center and Server | Atlassian Documentation卡死是因为Linux安全设置问题,在一段时间内没有使用数据的情况下会自动断开,解决方法就是让本地或者服务器隔一段时间发送一个请求给对方即可
在本地打开配置文件(不建议在server端设置)
1 sudo vim /etc/ssh/ssh_config
添加以下参数,如果有直接修改
1 ServerAliveInterval 50 #每隔50秒就向服务器发送一个请求
2 ServerAliveCountMax 3 #允许超时的次数,一般都会响应
修改完之后重启一下ssh服务
1 sudo /etc/initd/ssh restart
转自在/etc/ssh/sshd_config中有一个选项StrictModes,如果该选项是yes,那么如果某些文件或者文件夹的权限不对则无法ssh登录,具体权限如下
chmod g-w /home/your_user
chmod 700 /home/your_user/ssh
chmod 600 /home/your_user/ssh/authorized_keys
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)