ssh 的基本操作 详见

参考:SSH的无密码登陆实现

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 [email protected] localhost:1

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

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

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

如ssh -X [email protected] firefox 可以调用目的主机的浏览器

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

scp远程拷贝命令
scp [email protected]:/mnt/file /mnt 拷贝文件 scp -r [email protected]:/mnt /mnt 拷贝目录

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

rsync远程同步命令 类似scp 比scp速度快
rsync -r [email protected]:/mnt /mnt 同步254主机上的/mnt目录到本主机/mnt目录下 相当于拷贝整个目录
rsync -r [email protected]:/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的无密码登陆实现

你可能感兴趣的:(ssh)