<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tetrain.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Heera</id>
	<title>TetraWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tetrain.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Heera"/>
	<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=Special:Contributions/Heera"/>
	<updated>2026-07-25T08:07:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.tetrain.com/index.php?title=User_migration_from_FTP_to_Jailed_SFTP_without_data_loss_AT_INNODATA&amp;diff=766</id>
		<title>User migration from FTP to Jailed SFTP without data loss AT INNODATA</title>
		<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=User_migration_from_FTP_to_Jailed_SFTP_without_data_loss_AT_INNODATA&amp;diff=766"/>
		<updated>2013-01-01T11:57:30Z</updated>

		<summary type="html">&lt;p&gt;Heera: /* Challenge: User migration from FTP to Jailed SFTP without data loss */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:INNODATA]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Challenge: User migration from FTP to Jailed SFTP without data loss==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client:&#039;&#039;&#039; Innodata-Isogen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OS:&#039;&#039;&#039; RedHat Enterprise Linux 5.5 i386&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the OpensSSH latest version and that must support the chroot() function.&lt;br /&gt;
&lt;br /&gt;
openssh-5.8p2-16.el5.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Configure OpenSSH to use its internal sftp subsystem by editing the sshd_config file:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# vim /etc/ssh/sshd_config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace&lt;br /&gt;
&lt;br /&gt;
 Subsystem sftp /usr/local/libexec/sftp-server&lt;br /&gt;
 by&lt;br /&gt;
 Subsystem sftp internal-sftp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now configure the chroot() by using match rule, add the below entries in the end of the sshd_config file:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# vim /etc/ssh/sshd_config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-----------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Match group sftponly&lt;br /&gt;
 ChrootDirectory /home/%u&lt;br /&gt;
 X11Forwarding no&lt;br /&gt;
 AllowTcpForwarding no&lt;br /&gt;
 ForceCommand internal-sftp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-----------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
Here %u represents username, that means all the users in the sftponly group home directories are chrooted. Also chroot directory must be owned by root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add one new group named as sftponly:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# groupadd sftponly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a new user to use restricted sftp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# useradd -g sftponly test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# passwd test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# usermod -s /bin/false test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chmod 755 /home/test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# mkdir /home/test/ftpdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chown root.root /home/test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chown test.sftponly /home/test/ftpdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now test the configuration from client side or Windows Client &amp;quot;WinSCP&amp;quot; or &amp;quot;Filezilla&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 $ sftp test@SFTP-SERVER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now start user migration from VSFTP to SFTP.&lt;br /&gt;
&lt;br /&gt;
First stop the vsftpd service:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# /etc/init.d/vsftpd stop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 8:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before start migration steps, must take backup of &amp;quot;/etc/passwd&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 9:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now Create all FTP user&#039;s list and save as &amp;quot;userlist.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 10:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now create script to migarte all FTP user accounts without data loss and execute it:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-----------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 echo &amp;quot;All SFTP User Migration Start ...............&amp;quot;;&lt;br /&gt;
 users=`/bin/cat userlist.txt`;&lt;br /&gt;
 for i in $users&lt;br /&gt;
 do&lt;br /&gt;
 echo &amp;quot;Migrating FTP user &#039;$i&#039; into SFTP account:&amp;quot;;&lt;br /&gt;
 /usr/sbin/usermod -g sftponly $i;&lt;br /&gt;
 /usr/sbin/usermod -s /bin/false $i;&lt;br /&gt;
 /bin/chmod 755 /home/$i;&lt;br /&gt;
 /bin/mkdir /home/DATA/ftpdata;&lt;br /&gt;
 /bin/mv /home/$i/* /home/DATA/ftpdata/;&lt;br /&gt;
 /bin/mv /home/DATA/ftpdata /home/$i/;&lt;br /&gt;
 /bin/chown root.root /home/$i;&lt;br /&gt;
 /bin/chown $i.sftponly /home/$i/ftpdata;&lt;br /&gt;
 echo &amp;quot;User &#039;$i&#039; Successfully Migrate.&amp;quot;&lt;br /&gt;
 echo &amp;quot; &amp;quot;;&lt;br /&gt;
 done&lt;br /&gt;
 echo &amp;quot;User Migration Completed.&amp;quot;;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-----------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before using this script, you must check all lines on script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 11:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now restart SSH service:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# /etc/init.d/sshd restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 13:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Finally check SFTP jailed environment and all user&#039;s data on &amp;quot;/home/USERNAME/ftpdata&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Created and Implemented by: Heera Singh Koranga&lt;/div&gt;</summary>
		<author><name>Heera</name></author>
	</entry>
	<entry>
		<id>https://wiki.tetrain.com/index.php?title=User_migration_from_FTP_to_Jailed_SFTP_without_data_loss_AT_INNODATA&amp;diff=765</id>
		<title>User migration from FTP to Jailed SFTP without data loss AT INNODATA</title>
		<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=User_migration_from_FTP_to_Jailed_SFTP_without_data_loss_AT_INNODATA&amp;diff=765"/>
		<updated>2013-01-01T11:54:42Z</updated>

		<summary type="html">&lt;p&gt;Heera: /* Challenge: User migration from FTP to Jailed SFTP without data loss */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:INNODATA]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Challenge: User migration from FTP to Jailed SFTP without data loss==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Client:&#039;&#039;&#039; Innodata-Isogen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OS:&#039;&#039;&#039; RedHat Enterprise Linux 5.5 i386&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the OpensSSH latest version and that must support the chroot() function.&lt;br /&gt;
&lt;br /&gt;
openssh-5.8p2-16.el5.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Configure OpenSSH to use its internal sftp subsystem by editing the sshd_config file:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# vim /etc/ssh/sshd_config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace&lt;br /&gt;
&lt;br /&gt;
 Subsystem sftp /usr/local/libexec/sftp-server&lt;br /&gt;
 by&lt;br /&gt;
 Subsystem sftp internal-sftp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now configure the chroot() by using match rule, add the below entries in the end of the sshd_config file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim /etc/ssh/sshd_config&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-----------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Match group sftponly&lt;br /&gt;
 ChrootDirectory /home/%u&lt;br /&gt;
 X11Forwarding no&lt;br /&gt;
 AllowTcpForwarding no&lt;br /&gt;
 ForceCommand internal-sftp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-----------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here %u represents username, that means all the users in the sftponly group home directories are chrooted. Also chroot directory must be owned by root.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add one new group named as sftponly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# groupadd sftponly&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a new user to use restricted sftp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# useradd -g sftponly test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# passwd test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# usermod -s /bin/false test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chmod 755 /home/test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# mkdir /home/test/ftpdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chown root.root /home/test&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# chown test.sftponly /home/test/ftpdata&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now test the configuration from client side or Windows Client &amp;quot;WinSCP&amp;quot; or &amp;quot;Filezilla&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 $ sftp test@SFTP-SERVER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 7:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now start user migration from VSFTP to SFTP.&lt;br /&gt;
&lt;br /&gt;
First stop the vsftpd service:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# /etc/init.d/vsftpd stop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 8:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before start migration steps, must take backup of &amp;quot;/etc/passwd&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 9:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now Create all FTP user&#039;s list and save as &amp;quot;userlist.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 10:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now create script to migarte all FTP user accounts without data loss and execute it:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-----------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 echo &amp;quot;All SFTP User Migration Start ...............&amp;quot;;&lt;br /&gt;
 users=`/bin/cat userlist.txt`;&lt;br /&gt;
 for i in $users&lt;br /&gt;
 do&lt;br /&gt;
 echo &amp;quot;Migrating FTP user &#039;$i&#039; into SFTP account:&amp;quot;;&lt;br /&gt;
 /usr/sbin/usermod -g sftponly $i;&lt;br /&gt;
 /usr/sbin/usermod -s /bin/false $i;&lt;br /&gt;
 /bin/chmod 755 /home/$i;&lt;br /&gt;
 /bin/mkdir /home/DATA/ftpdata;&lt;br /&gt;
 /bin/mv /home/$i/* /home/DATA/ftpdata/;&lt;br /&gt;
 /bin/mv /home/DATA/ftpdata /home/$i/;&lt;br /&gt;
 /bin/chown root.root /home/$i;&lt;br /&gt;
 /bin/chown $i.sftponly /home/$i/ftpdata;&lt;br /&gt;
 echo &amp;quot;User &#039;$i&#039; Successfully Migrate.&amp;quot;&lt;br /&gt;
 echo &amp;quot; &amp;quot;;&lt;br /&gt;
 done&lt;br /&gt;
 echo &amp;quot;User Migration Completed.&amp;quot;;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-----------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before using this script, you must check all lines on script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 11:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now restart SSH service:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# /etc/init.d/sshd restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 13:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Finally check SFTP jailed environment and all user&#039;s data on &amp;quot;/home/USERNAME/ftpdata&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Created and Implemented by: Heera Singh Koranga&lt;/div&gt;</summary>
		<author><name>Heera</name></author>
	</entry>
	<entry>
		<id>https://wiki.tetrain.com/index.php?title=DOCUMENT_OF_SFTP_SERVER_WITH_256_BIT_AES_ENCRYPTION&amp;diff=760</id>
		<title>DOCUMENT OF SFTP SERVER WITH 256 BIT AES ENCRYPTION</title>
		<link rel="alternate" type="text/html" href="https://wiki.tetrain.com/index.php?title=DOCUMENT_OF_SFTP_SERVER_WITH_256_BIT_AES_ENCRYPTION&amp;diff=760"/>
		<updated>2013-01-01T11:08:55Z</updated>

		<summary type="html">&lt;p&gt;Heera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[category:INNODATA]]&lt;br /&gt;
&lt;br /&gt;
==DOCUMENT OF SFTP SERVER WITH 256 BIT AES ENCRYPTION AT INNODATA ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sftp comes with ssh service so there is no separate daemon for this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SFTP2.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STEPS&#039;&#039;&#039;. Open sshd config file which is /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
Comment out below line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Subsystem &amp;lt;/nowiki&amp;gt;sftp /usr/libexec/openssh/sftp-server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And add below lines&lt;br /&gt;
 Subsystem sftp internal-sftp&lt;br /&gt;
    Match Group sftponly&lt;br /&gt;
    ChrootDirectory /home/%u &amp;lt;nowiki&amp;gt;#JAILED FTP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
 Ciphers aes256-ctr,aes256-cbc &amp;lt;nowiki&amp;gt;#to enable aes 256bit encryption&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commands to Add New User&#039;&#039;&#039;. Type in terminal:&lt;br /&gt;
&lt;br /&gt;
 # groupadd sftponly&lt;br /&gt;
 # usermod -g sftponly saket&lt;br /&gt;
 # usermod -s /bin/false saket&lt;br /&gt;
 # chmod 755 /home/saket&lt;br /&gt;
 # chmod 755 /home/saket&lt;br /&gt;
 # chown root:root /home/saket&lt;br /&gt;
 # mkdir /home/saket/FTPDATA&lt;br /&gt;
 # chown saket:sftponly /home/saket/FTPDATA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now Restart SSH Service&#039;&#039;&#039;.&lt;br /&gt;
 # /etc/init.d/ssh restart&lt;/div&gt;</summary>
		<author><name>Heera</name></author>
	</entry>
</feed>