大家好,欢迎来到IT知识分享网。
Linux系统和windows系统下的ssh命令
ssh命令介绍
ssh连接原理
SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。ssh默认连接Port 22。
ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)。ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接
ssh工作机制
服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。
ssh加密技术
加密技术:传输过程,数据加密。
- SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
- SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
- SSH2支持RSA和DSA密钥
- SA:digital signature Algorithm 数字签名
- RSA:既可以数字签名又可以加密
windows下如何使用ssh命令
windows10自带OpenSSH
查找以下路径,若有OpenSSH,则说明Windows系统有自带的ssh相关功能,可以直接在路径中输入cmd打开命令行窗口进行操作。
C:\Windows\System32\OpenSSH
windows无自带的OpenSSH
1.手动下载安装OpenSSH
(1)使用浏览器打开官网:
https://www.mls-software.com/opensshd.html
(2)下载setupssh,下拉页面找到New Version
(3)点击 setupssh-****.exe
进行下载
(4)安装setupssh:
运行下载完成的setupssh安装文件
(5)同意协议:
接受许可证协议,进行下一步操作
(6)选择组件:
只保留客户端即可
(7)选择安装位置:
可更改安装位置,进行下一步操作
(8)完成安装
(9)使用Windows键+R
打开运行窗口:
输入cmd
,确定
(10) 登录远程服务:
输入命令:ssh –p端口号 用户名@IP地址
例如:ssh –p22 root@127.0.0.1
ssh常见命令
ssh常用功能
1.登录
ssh -p22 omd@192.168.25.137
2.直接执行命令 –>最好全路径
ssh root@192.168.25.137 ls -ltr /backup/data
ssh root@192.168.25.137 /bin/ls -ltr /backup/data
3.查看已知主机
cat /root/.ssh/known_hosts
4.ssh远程执行sudo命令
ssh -t omd@192.168.25.137 sudo rsync hosts /etc/
5.scp –>远程文件的安全(加密)拷贝
1. 从服务器下载文件
scp username@servername:/remote_path/filename ~/local_destination
2. 上传本地文件到服务器
scp ~/local_path/local_filename username@servername:/remote_path
3. 从服务器下载整个目录
scp -r username@servername:/remote_path/remote_dir/ ~/local_destination
4. 上传整个目录到服务器
scp -r ~/local_dir username@servername:/remote_path/remote_dir
- example:
scp -P22 -r -p /home/omd/h.txt omd@192.168.25.137:/home/omd/
6.ssh自带的sftp功能
(1)Window和Linux的传输工具
wincp
filezip
sftp -->基于ssh的安全加密传输
samba
(2)sftp客户端连接
sftp -oPort=22 root@192.168.25.137
put /etc/hosts /tmp
get /etc/hosts /home/omd
ssh常见命令参数
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address]
[-c cipher_spec][-D [bind_address:]port] [-e escape_char]
[-F configfile][-i identity_file][-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd]
[-o option] [-p port][-R [bind_address:]port:host:hostport]
[-S ctl_path][-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
后台ssh服务的相关
# 查询openssl软件
rpm -qa openssh openssl
# 查询sshd进程
ps -ef | grep ssh
--> /usr/sbin/sshd
# 查看ssh端口
netstat -lntup | grep ssh
ss | grep ssh (效果同上,同下,好用)
netstat -a | grep ssh (记住这个)
netstat -lnt | grep 22 (查看22端口有没有开/ssh服务有没有开启)
netstat -lnt | grep ssh | wc -l (只要大于2个就是ssh服务就是好的)
# 查看ssh的秘钥目录
ll /root/.ssh/known_hosts (当前用户家目录的.ssh目录下)
# ssh的配置文件
cat /etc/ssh/sshd_config
# ssh服务的关闭
service sshd stop
# ssh服务的开启:
service sshd start
# ssh服务的重启
service sshd reload [停止进程后重启] ==> 推荐
service sshd restart [干掉进程后重启] ==> 不推荐
# ssh远程登录
ssh 192.168.1.100 # 默认利用当前宿主用户的用户名登录
ssh omd@192.168.1.100 # 利用远程机的用户登录
ssh omd@192.168.1.100 -o stricthostkeychecking=no # 首次登陆免输yes登录
ssh omd@192.168.1.100 "ls /home/omd" # 当前服务器A远程登录服务器B后执行某个命令
ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh" # 当前服务器A远程登录服务器B后执行某个脚本
ssh免密设置
1、进入用户的家目录
[root@localhost ~] # cd /root/. 【root用户就在root目录下的.ssh目录】
[root@localhost ~] # cd /home/omd/.ssh/ 【普通用户就是在家目录下的.ssh目录】
2、根据DSA算法生成私钥和公钥【默认建立在当前用户的家目录】
[root@localhost.ssh] # ssh-keygen -t dsa # 一路回车即可
id_dsa -->私钥(钥匙)
id_dsa.pub -->公钥(锁)
3.拷贝公钥给目标服务器
[root@localhost .ssh] # ssh-copy-id -i id_dsa.pub omd@192.168.25.110 【 使用ssh登录的默认端口22】
[root@localhost .ssh] # ssh-copy-id -i id_dsa.pub –p 666 omd@192.168.25.120 【使用ssh登录设置的端口666】
4.查看目标服务器生成的文件
[omd@localhost .ssh]$ ll /home/omd/.ssh/authorized_keys
5.免密码登录目标服务器
ssh omd@192.168.25.110
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24789.html