ssh详解

Easter79
• 阅读 766

1.ssh的基本操作
打开ssh : System-Administration-Service 找到sshd 选择Enable 然后start 打开System-Administration-Firewall 将火墙限制关闭

ssh配置文件 /etc/ssh/sshd_config
将“PasswordAuthentication yes”改为“PasswordAuthentication no” 可以禁止他人ssh

连接时输入密码
将“PermitRootLogin yes”改为“PermitRootLogin no” 可以禁止别人用root账户登录

vnc远程方式登录: vncviewer -via root@192.168.0.67 localhost:1

被连接的主机必须开启22端口 /etc/init.d/sshd start
使用netstat -antlpe | grep ssh 查看是否打开 若未打开 运行命令后无任何提示 使用ssh登录时默认使用当前主机的用户登录 所以目的主机上也要有一个相同的用户身份 使用ssh user@IP 命令可以定制登录用户身份

如ssh student@192.168.0.254 就是使用student身份登录 登录时需要输入目的主机的 student用户密码
在本主机root身份下登录 使用 ssh IP 直接用root身份登录ssh

如ssh 192.168.0.254 就是用root超级用户身份登录目的主机 登录时需要输入目的主机的 root用户密码
在ssh user@IP (后接要执行的命令) 可以不登录目的主机就执行命令
使用ssh -X user@IP (后接软件名,设置等)可以调出目的主机上的图形

如ssh -X root@192.168.0.254 firefox 可以调用目的主机的浏览器

这种方法打开的进程占用的是目的主机资源 本主机上只调用ssh使用的资源 登录目的主机后 会在家目录中产生一个.ssh目录 目录中的know_hosts中记录我登录过谁和谁 登录过我

scp远程拷贝命令
scp root@192.168.0.254:/mnt/file /mnt 拷贝文件 scp -r root@192.168.0.254:/mnt /mnt 拷贝目录

例如
[root@desktop31 .ssh]# scp root@192.168.0.150:/root/Desktop/file /mnt 将150主机上 的file拷贝到31这台主机上
[root@desktop31 .ssh]# scp /mnt/file root@192.168.0.150:/root/Desktop 将31主机上的 file拷贝到150主机桌面上

rsync远程同步命令 类似scp 比scp速度快
rsync -r root@192.168.0.254:/mnt /mnt 同步254主机上的/mnt目录到本主机/mnt目录下 相当于拷贝整个目录
rsync -r root@192.168.0.254:/mnt/ /mnt 同步254主机上的/mnt/下的内容到本主机/mnt目录下 相当于拷贝目录下的所有内容

ssh加密(有DSA和RSA两种方式)
因为ssh数据交换是明文的 所以需要加密来确保数据交换的安全 使用ssh-keygen生成加密钥匙 提示输入名称(使用默认名称)
输入加密密码 提示密匙生成成功
此时在/root/.ssh/下生成两个文件 id_rsa为私匙 id_rsa.pub为公匙
在/root/.ssh/下 上传公匙到要加密的主机 ssh-copy-id -i id_rsa.pub 192.168.0.150 此时在要加密的主机/root/.ssh/下生成文件 authorized_keys (其实主要是在服务器上生成这个文件!使用scp上传public key也是可以的)其中记录了加密信息 在/root/.ssh/下 上传私匙到第三方主机 scp id_rsa 192.168.0.88:/root/.ssh/ (注意 是拷贝到.ssh目录下)
此时 88主机可以通过ssh密码访问150
修改被加密主机上ssh配置文件 /etc/ssh/sshd_config

修改被加密主机上ssh配置文件 /etc/ssh/sshd_config 将“PasswordAuthentication yes”改为“PasswordAuthentication no”

则只能使用ssh加密密码登录 不能使用用户登录密码登录 这样就保证了用户密码的安全

ssh-agent和ssh-add的作用 当前每次使用ssh远程链接服务器的时候都要输入密钥的密码,很麻烦,而且在工作做使用的 是脚本文件,不能提供一个交互式的输入密码的界面。 所以需要有一个功能来记住ssh密钥的密码,然后再在需要的时候可以忘掉这个密码 使用ssh-agent bash可以再打开一个bash,在这个bash下面使用ssh-add /root/.ssh/id_rsa 然后输入一次密码,那么在这个bash中就就可以自由郭连接上传过公钥的主机而不需要输入密 码了,钥忘掉的密码的时候只要推出这个bash就可以了

ssh结合TCP-wrapper做访问控制

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
SSH服务器设置
\ssh服务器/etc/init.d/sshd\stop|start|restart\netstattl可以查看ssh服务是否正在运行远程登录ssh:sshusername@hostnameeg:sshyangjia@localhost设置文件:/etc/ssh/sshd\_config(debian)
Easter79 Easter79
3年前
sshd_config注释
1root@H0f~cat/etc/ssh/sshd_config2updatebyH0f201803133$OpenBSD:sshd_config,v1.802008/07/0202:24:18djmExp$45Thisis
Stella981 Stella981
3年前
Git使用总结
生成密钥1.打开GitBash,运行  \_sshkeygen  \_2.密钥生成空间\_~/.ssh/id\_rsa  \_(C:/User/.ssh)3.输入密码(不输入增直接回车跳过)4._~/.ssh/id\_rsa.pub_ (公钥), _id\_rsa_ (私钥)下载代码到本地
Stella981 Stella981
3年前
SecureCRT 用ssh key登录配置方法
服务器端配置 OS:Debian6.0.5 复制代码代码如下:aptgetinstallssh安装ssh服务编辑/etc/ssh/sshd\_config配置文件 复制代码代码如下:Port3322修改端口为3322(自定义) PermitRo
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
3年前
CentOS配置无密码登录
配置sshd服务在服务器上修改/etc/ssh/sshd\_config:\<!lang:shell禁止root登录PermitRootLoginno指定可以登录的用户AllowUsersbobaliceStrictModesyes
Wesley13 Wesley13
3年前
ubuntu 使用root用户登录
修改配置文件sudovim/etc/ssh/sshd_config找到下面相关配置:Authentication:LoginGraceTime120PermitRootLoginprohibitpasswordStrictModesyes更改为:Aut
Stella981 Stella981
3年前
Centos 修改远程连接端口
1.执行命令vi /etc/ssh/sshd\_config2.添加Port243.重启sshd 命令:/etc/init.d/sshdrestart4.如果出现如下错误:bash:/etc/init.d/sshd:Nosuchfileordirectory5.  
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k