1. SSH简介
简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
参考文章
2. SSH 常见操作
(1)SSH 启动,重启,连接和断开
- 查看ssh是否启动
ps -e | grep ssh
- ssh启动命令
sudo /etc/init.d/ssh start
- ssh服务重启
service ssh restart
- ssh连接服务器
ssh ldz@192.168.0.1
- 断开
exit
logout
(2)通过 SSH 连接同一局域网下的目标机
参考文章
通过SSH连接内网其他服务器时,首先要知道要连接的服务器的用户名和密码,以及服务器的内网ip地址
目标机ip地址如果是Linux通过 ifconfig
命令进行查看,如果是Windows用ipconfig进行查看
获取到ip地址后通过以下命令进行连接
ssh username@ip
示例:(目标主机和当前电脑处于同一局域网内)
命令行输入
ssh root@192.168.1.169
输入密码后即可进入服务器内部,访问其系统文件。
(3)通过SSH 进行内网文件的传输
参考文章
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
示例:
文件的传输
- 将远程Linux上文件拷贝到windows本地 D:\
scp root@192.168.1.196:/home/test.txt d:\
- 将windows本地文件拷贝到远程Linux上
scp d:\test1.txt root@192.168.1.196:/home/test.txt
文件夹的传输
要加-r参数
scp -r d:\python\images\ root@192.168.1.198:/home/workfile/
(4)通过SSH连接远程服务器
用向日葵
涉及内网穿透
视频讲解
(5) Windows 下OpenSSH服务器的安装
参考文章 亲测有效
PS C:\Windows\system32> Start-Service sshd #windows下启动ssh服务
PS C:\Windows\system32> Get-Service -Name *ssh* #windows下查看ssh服务Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent
Running sshd OpenSSH SSH ServerPS C:\Windows\system32> netstat -an | findstr :22 #windows下查看端口情况TCP 0.0.0.0:22 0.0.0.0:0 LISTENINGTCP [::]:22 [::]:0 LISTENING
windows下启动ssh服务的命令
net start sshd
(6)windows下生成公钥私钥进行免密登录
windows 连接其他主机,在windows下生成公钥私钥,然后将公钥传输到目标主机中,就可以实现免密登录
密钥生成命令
ssh-keygen
一路回车生成密钥
.ssh 文件夹下生成id_rsa 和 id_rsa_pub
第一个时私钥,第二个是公钥
将公钥拷贝到要连接的服务器端
ssh-copy-id ~/.ssh/id_rsa_pub root@192.168.1.169
然后就可以进行免密登录
3. 应用
(1)利用finalshell连接远程云服务器(ssh连接)
文章直达
4. 报错解决
(1)使用ssh进行连接,账号密码都没问题,但提示:Permission denied, please try again.
解决方案
#打开文件后,在其中添加PermitRootLogin yes,保存退出
vim /etc/ssh/sshd_config
#重启ssh服务:
service ssh restart
参考文章
链接: ssh访问远程服务器